目錄:演算法與資料結構

Posted by Chiu CC on 12 31, 2099

演算法與資料結構

介紹演算法與資料結構的基本概念。


Complexity系列文章

Complexity:Asymptotic Notation(漸進符號)


基本資料結構系列文章

Linked List

Linked List:Intro(簡介)
Linked List:新增資料、刪除資料、反轉

Stack

Stack:Intro(簡介)
Stack:以Array與Linked list實作
Stack:能夠在O(1)取得最小值的MinStack

Queue

Queue:Intro(簡介),並以Linked list實作
Queue:以Array實作Queue

Set

Set:以Array表示


Sort系列文章

Comparison Sort

Comparison Sort:Insertion Sort(插入排序法)
Comparison Sort:Quick Sort(快速排序法)
Comparison Sort:Heap Sort(堆積排序法)
Comparison Sort:Merge Sort(合併排序法)


Tree系列文章

Tree(樹):Intro(簡介)

Binary Tree(二元樹)

Binary Tree:Intro(簡介)
Binary Tree:Traversal(尋訪)
Binary Tree:建立一棵Binary Tree

Binary Search Tree(二元搜尋樹)

Binary Search Tree:Intro(簡介)
Binary Search Tree:Search(搜尋資料)、Insert(新增資料)
Binary Search Tree:Sort(排序)、Delete(刪除資料)

Red Black Tree(紅黑樹)

Red Black Tree:Intro(簡介)
Red Black Tree:Rotation(旋轉)
Red Black Tree:Insert(新增資料)與Fixup(修正)
Red Black Tree:Delete(刪除資料)與Fixup(修正)


Hash Table系列文章

Hash Table:Intro(簡介)
Hash Table:Chaining
Hash Table:Open Addressing


Graph系列文章

Graph:Intro(簡介)

Breadth-First Search與Depth-First Search

Graph:Breadth-First Search(BFS,廣度優先搜尋)
Graph:Depth-First Search(DFS,深度優先搜尋)
Graph:利用DFS和BFS尋找Connected Component
Graph:利用DFS尋找Strongly Connected Component(SCC)
Graph:利用DFS尋找DAG的Topological Sort(拓撲排序)

Minimum Spanning Tree(最小生成樹)

Minimum Spanning Tree:Intro(簡介)
Minimum Spanning Tree:Kruskal's Algorithm
Minimum Spanning Tree:Prim's Algorithm
Minimum Spanning Tree:Prim's Algorithm using Min-Priority Queue

Shortest Path

Shortest Path:Intro(簡介)
Single-Source Shortest Path:Bellman-Ford Algorithm
Single-Source Shortest Path:on DAG(directed acyclic graph)
Single-Source Shortest Path:Dijkstra's Algorithm
All-Pairs Shortest Path:Floyd-Warshall Algorithm

Flow Networks

Flow Networks:Maximum Flow & Ford-Fulkerson Algorithm


Priority Queue系列文章

Priority Queue:Intro(簡介)
Priority Queue:Binary Heap


tags: C++,