还记得之前发布过的那个关于可视化排序的文章吗?在网上又看到了一个旧金山大学David Galles做的各种可视化的数据结构和基本算法的主页,网址在这里,大家可以看看。我把这个页面的目录列在下面并翻译了一下,大家可以直接点击了。

不知道国内的教育有没有相关的教学课件,至少在我大学的时候是没有的。

目录

基础索引排序堆数据结构图 算法动态编程其它…

基础

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 版本演示)

转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)