Algorithms 4th Edition的一些重要算法

《算法》第四版核心内容概览
本文总结了《算法》第四版中关键的算法与数据结构,涵盖排序算法、搜索算法、图算法及字符串处理算法等,是学习算法与数据结构的重要参考资料。

《算法》第四版中的重要算法

最近由于一直在学习算法与数据结构,这里记录一下自己需要实现的《算法》第四版中的部分算法与数据结构。

最基本算法

  1. 二分查找. P28, P241的基于有序数组的二分查找.
  2. 队列的链表实现. 算法 1.3 P95
  3. 栈的链表实现. 算法 1.2 P94;
  4. 栈的数组实现(动态调整数组). 算法 1.1 P88
  5. 背包的链表实现. 算法 1.4 P98

排序相关算法

  1. 插入排序. 算法 2.2 P157 部分有序和小规模数组有效
  2. 希尔排序. 算法 2.3 P163
  3. 自顶向下归并排序. 算法 2.4 P171 算法框架, 主要是P170 merge 方法的实现
  4. 快速排序. 算法 2.5 P182 算法框架, 着重看P184切分(partition)算法.
  5. 三向切分快速排序. P189
  6. 基于堆的优先队列. 算法 2.6 P202 需要看P200 swim方法和P201的sink方法的实现.
  7. 索引优先队列. API P203,
  8. 堆排序. 算法 2.7 P206

额外重要的数据结构:

  1. 斐波那契堆(Fibonacci Heap)

符号表相关算法

  1. 基于二叉查找树的符号表. 算法 3.3 P252 算法框架. 主要看 P252算法3.3(续1)中的get和put方法实现; P261算法3.3(续4)deleteMin和delete方法实现
  2. 红黑树插入算法, P281; 红黑树的右旋和左旋算法, P277; 颜色转换, P279; 删除最小键和删除算法需要看书对应的代码实现.
  3. 字符串的hash算法, P294; Horner算法, P506
  4. 链表法散列表, 算法 3.5 P297
  5. 线性探测符号表, 算法 3.6; 还需要看P302 delete方法实现; P304 resize方法实现.
  6. 稀疏向量的实现, P322

额外重要的数据结构:

  1. KD树
  2. AVL树

图相关算法

  1. 无向图数据类型实现, P336
  2. 深度优先搜索, P339; 解决问题: 两个顶点连通性问题.
  3. 使用 深度优先 搜索查找无向图中的路径, 算法 4.1, P343; 解决问题: 单点路径问题.
  4. 使用 广度优先 搜索查找无向图中的路径, 算法 4.2, P346; 解决问题: 单点最短路径问题.
  5. 使用 深度优先 搜索找出无向图中的所有连通分量, 算法 4.3, P349
  6. union-find(加权quick-union)算法. 算法 1.5续 P145
  7. 无环图的判断以及二分图的判断, P352
  8. 有向图数据类型的实现, P366
  9. 有向图的可达性(DFS), P367
  10. 寻找有向环. P372
  11. 拓扑排序(逆后序). P375
  12. Kosaraju算法(强连通分量), 算法4.6 P380, 用到了union-find算法.
  13. 加权无向图 和 加权无向边 的数据结构, P395
  14. Prim算法即时实现(MST), 算法4.7 P403
  15. Kruskal算法(MST), 算法4.8 P406
  16. 边松弛relax方法实现, P418; 顶点松弛, P419
  17. Dijkstra算法(最短路径), 算法 4.9 P423
  18. 无环加权有向图的最短路径算法(拓扑排序), 算法 4.10 P427
  19. Bellman-Ford算法, 算法4.11 P438

额外重要的算法:

  1. A*搜索算法
  2. Floyd最短路径算法

字符串相关算法

  1. 键索引计数法(步骤要搞清楚), P458
  2. 低有效位排序(LSD), 算法 5.1 P459
  3. 高位优先字符串排序(MSD), 算法 5.2 P462
  4. 三向字符串快速排序, 算法 5.3 P469
  5. 基于单词查找树的符号表(R向Trie树), 算法 5.4 P479
  6. 三向单词查找树. 算法 5.5 P486
  7. 最长键(longestPrefixOf), P481; delete操作, P482
  8. KMP算法. 算法 5.6 P500; DFA数组构造, P499
  9. 正则表达式模式匹配(NFA理解). 算法 5.9 P524
  10. Huffman压缩算法. 算法 5.10 P547
  11. LZW压缩算法. 算法5.11 P552; LZW展开算法. 算法 5.11(续) P554

References

[1] https://book.douban.com/review/9277823/

转载于:https://www.cnblogs.com/GradientBoosted/p/10253208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值