基礎
- Stack棧: 數組實作
- Stack棧: 連結清單實作
- Queues隊列: 數組實作
- Queues隊列: 連結清單實作
- Lists清單: 數組實作 ( java 版示範)
- Lists清單: 連結清單實作 ( java 版示範)
索引
- Binary Search Trees 二叉檢索樹
- AVL Trees (平衡二叉檢索樹)
- Red-Black Trees 紅黑樹 ( flash 版本示範)
- Open Hash Tables 開放哈希表(Closed Addressing 鍊位址法)
- Closed Hash Tables 閉合哈希表 (Open Addressing 開放定址法)
- Closed Hash Tables, using buckets 使用桶
- B Trees B樹
- B+ Trees B+樹
-
排序
- Comparison Sorting 比較式排序
- Bubble Sort 冒泡排序
- Selection Sort 選擇排序
- Insertion Sort 插入排序
- Shell Sort 希爾排序
- Merge Sort 歸并排序
- Quck Sort 快速排序
- Bucket Sort 桶排序
- Counting Sort 計數排序
- Radix Sort 基數排序
堆資料結構
- Heaps 堆
- Binomial Queues 二項隊列
圖算法
- Breadth-First Search 廣度優先搜尋
- Depth-First Search 深度優先搜尋
- Connected Components 連通性
- Dijkstra’s Shortest Path Dijkstra最短路徑
- Prim’s Minimum Cost Spanning Tree 最小生成樹
- Topological Sort 拓撲排序 ( flash 版本示範 java 版本示範)
- Floyd-Warshall 算法(解決任意兩點間的最短路徑的一種算法) (flash 版本示範 java 版本示範)
- 基于Kruskal算法的最小生成樹的建構 ( flash 版本示範 java 版本示範)
動态程式設計
- 計算 Fibonacci 數 ( java 版本示範)
其它…
- Disjoint Sets (MIT算法公開課中有一課讨論的是這個,見網易公開課)
- Huffman Coding 哈夫曼編碼 ( java 版本示範)
- Comparison Sorting 比較式排序