Binary Heap
Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。
Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。
一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。
Singly Linked List 與 Doubly Linked List 差別在 Node 的指標一個只有下一個節點,另個有存上下兩個節點。
簡言之, Graph 就是很多個節點與節點之間的連線所組成的,與前幾篇提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色:
當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 AI 。
Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。
Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。
Queue 是一種 FIFO (First In First Out) 資料結構。
Linked List 是一種資料結構,由一個個節點 (Node) 鏈結起來組成,本身僅存有 Head Node 和 Tail Node 以及總節點數 (length)。每個節點都有一個資料和一個指向下一個節點的指標。
Stack 是一種 LIFO (Last In First Out) 資料結構
由於樹狀結構並不像 Lined List 或陣列那樣是線狀的,故需要遍歷整個樹狀結構是很複雜的,而且有多種方式。
Trie 常用於字串的查詢和搜尋推薦的自動完成功能 (auto complete),讀音同 Try。