CSCI2520
CSCI2520:資料結構
針對 CSCI2520 資料結構基礎的結構化筆記,重視操作層級推理與選擇性互動示範。
你可以用側欄逐章前進,或直接從下方進入某一節筆記。
6 章節
每一節都可以直接在頁面閱讀,亦可以在需要離線溫習時匯出成靜態版本。
章節 0程式基礎1 節
章節 2List 與 recursion1 節
章節 4Trees 與 BST1 節
章節 5Graph 與 priority queue2 節
章節 0
程式基礎
資料結構筆記會反覆用到的語言與記憶體工具。
0.1嵌入式互動
0.1 Pointer、記憶體與 struct
重溫課程用來解釋資料結構行為的 C 語言工具:pointer、malloc、typedef 與 struct 佈局。
章節 1
ADT 與操作語義
由 ADT 規格走向 stack/queue 行為,再進入 dictionary 形式的 hashing 操作。
章節 2
List 與 recursion
遞歸 list 契約、head-tail 推理,以及受 representation 影響的操作成本。
2.1
2.1 作為遞歸 ADT 的 list
把 list 讀成遞歸的 head-tail ADT,再比較 iterative 與 recursive 操作實作。
章節 3
複雜度與排序
漸進增長、成本比較與面向排序的複雜度推理。
章節 4
Trees 與 BST
Binary tree traversal、reconstruction 與 binary-search-tree operations。
4.1
4.1 Binary tree 與 BST 操作
用 traversal order、reconstruction 與 BST invariant 推理 binary tree algorithms。
章節 5
Graph 與 priority queue
Graph traversal、spanning tree、shortest path、topological sorting、heap 與 Huffman coding。