{ "id": "data_structures", "title": "資料結構與演算法", "nodes": { "1": { "id": "1", "title": "資料結構基礎", "content": "資料結構是電腦科學中儲存和組織資料的特定方式,以便能夠有效地存取和修改資料。好的資料結構可以提高程式的執行效率和程式碼的可維護性。", "type": "concept", "resources": [ { "type": "documentation", "url": "https://www.geeksforgeeks.org/data-structures/" } ] }, "2": { "id": "2", "title": "陣列 Array", "content": "陣列是最基本的資料結構,由相同型別的元素按順序存儲在連續的記憶體空間中。可以透過索引直接存取元素,具有快速的讀取速度,但大小固定,插入和刪除操作較慢。", "type": "concept" }, "3": { "id": "3", "title": "鏈結串列 Linked List", "content": "鏈結串列由一系列節點組成,每個節點包含資料和指向下一個節點的指標。優點是插入和刪除操作快速,大小可動態調整;缺點是無法直接存取元素,需要遍歷查找。", "type": "concept" }, "4": { "id": "4", "title": "堆疊 Stack", "content": "堆疊是一種後進先出(LIFO)的資料結構,只能在一端進行插入和刪除操作。主要操作包括推入(push)和彈出(pop)。常用於函數呼叫、運算式求值等場景。", "type": "concept" }, "5": { "id": "5", "title": "佇列 Queue", "content": "佇列是一種先進先出(FIFO)的資料結構,在一端插入,另一端刪除。主要操作包括入列(enqueue)和出列(dequeue)。常用於任務排程、資源管理等場景。", "type": "concept" }, "6": { "id": "6", "title": "樹 Tree", "content": "樹是一種具有層次關係的資料結構,由節點和邊組成。每個節點可以有多個子節點,但只能有一個父節點。常見的樹結構包括二元樹、搜尋樹等。", "type": "concept" }, "7": { "id": "7", "title": "圖 Graph", "content": "圖是由頂點和邊組成的資料結構,用於表示物件之間的關係。可以是有向或無向、加權或非加權。常用於社交網路、地圖導航等應用場景。", "type": "concept" }, "8": { "id": "8", "title": "雜湊表 Hash Table", "content": "雜湊表使用雜湊函數將鍵映射到值,提供快速的插入、刪除和查找操作。處理碰撞的方法包括鏈接法和開放定址法。常用於實現字典、快取等。", "type": "concept" }, "9": { "id": "9", "title": "堆積 Heap", "content": "堆積是一種特殊的完全二元樹,分為最大堆和最小堆。常用於實現優先佇列,堆積排序等。具有快速查找最大/最小值的特性。", "type": "concept" }, "10": { "id": "10", "title": "時間複雜度", "content": "時間複雜度用於衡量演算法執行時間與輸入規模的關係。常見的表示方法有大O符號。不同資料結構的操作具有不同的時間複雜度。", "type": "concept" } }, "edges": [ {"source": "1", "target": "2", "type": "basic"}, {"source": "1", "target": "3", "type": "basic"}, {"source": "1", "target": "10", "type": "basic"}, {"source": "2", "target": "4", "type": "related"}, {"source": "2", "target": "5", "type": "related"}, {"source": "3", "target": "6", "type": "advanced"}, {"source": "4", "target": "6", "type": "related"}, {"source": "5", "target": "9", "type": "advanced"}, {"source": "6", "target": "7", "type": "advanced"}, {"source": "6", "target": "9", "type": "related"}, {"source": "7", "target": "8", "type": "related"}, {"source": "8", "target": "10", "type": "related"}, {"source": "9", "target": "10", "type": "related"} ] }