一、
1. 可视化数据结构:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
2. C++实现的各种算法演示:http://people.cs.pitt.edu/~kirk/cs1501/animations/
3. 很酷的各种排序演示:http://sorting.at/
4. 很有创意的排序比较(匈牙利 Sapientia 大学的 6 种排序算法舞蹈视频):http://top.jobbole.com/1539/
二、
一个可下载到本地演示的数据结构动画:https://github.com/yunlan163/DataStructures
三、
一个旧金山大学David Galles做的各种可视化的数据结构和基本算法的主页:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
基础
- 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 比较式排序