可视化的数据结构和算法

来源:互联网 发布:剑雨昆仑进阶最新数据 编辑:程序博客网 时间:2024/04/28 19:31

还记得之前发布过的那个关于可视化排序的文章吗?在网上又看到了一个旧金山大学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 版本演示)

     

    转自:http://coolshell.cn/articles/4671.html