Skip to main content

12 docs tagged with "data structures"

View All Tags

Binary Heap

Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。

Binary Search Tree

一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。

Doubly Linked List

Singly Linked List 與 Doubly Linked List 差別在 Node 的指標一個只有下一個節點,另個有存上下兩個節點。

Graph

簡言之, Graph 就是很多個節點與節點之間的連線所組成的,與前幾篇提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色:

Graph Traversal

當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 AI 。

Hash Table

Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。

Priority Queue

Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。

Queue

Queue 是一種 FIFO (First In First Out) 資料結構。

Singly Linked List

Linked List 是一種資料結構,由一個個節點 (Node) 鏈結起來組成,本身僅存有 Head Node 和 Tail Node 以及總節點數 (length)。每個節點都有一個資料和一個指向下一個節點的指標。

Stack

Stack 是一種 LIFO (Last In First Out) 資料結構

Tree Traversal

由於樹狀結構並不像 Lined List 或陣列那樣是線狀的,故需要遍歷整個樹狀結構是很複雜的,而且有多種方式。

Trie (Prefix Tree)

Trie 常用於字串的查詢和搜尋推薦的自動完成功能 (auto complete),讀音同 Try。