-
Title:算法设计与分析(第3版)Anany Levitin(著) 潘彦(译)
-
使用链表与数组的时间快慢。
-
算法:正确性、效率性、空间性、简单性、一般性。
-
论证正确性的一般方法是数学归纳法。
-
递归算法、裴波那契数列、算法可视化。
- 蛮力法:选择排序、冒泡排序(最大元素到最后一位)、顺序查找、最近对问题、凸包问题(在地理信息系统中,应用凸包问题根据卫星图像计算可通达地形图(accessibility map))、穷举查找、 旅行商问题(最短路径、加权图建模,即哈密顿回路问题)、背包问题(最有价值)、深度优先查找(栈)、广度优先查找(队列)。
- 减治法(增量法):插入排序、希尔排序、拓扑排序、折半查找。
- 分治算法(应用于最近对问题、凸包问题):合并排序、快速排序。
- 变治算法:高斯消去法、AVL树、堆排序、问题化简。
- 动态规划:硬币收集问题、最优二叉树查找、Floyd算法(全部最短路径)。
- 贪婪技术:Prim算法(最小生成树)、Kruskal算法、DiJKstra算法(应用于运输规划、通讯网络数据包的路由问题、社交网络、语音识别、机器人技术)、哈夫曼树。
- 迭代改进:最大流量问题(源点、汇点容量、流量增益路径法(Ford-Fulkerson法)、最短增益路径法或先标记先扫描算法(J.Edmonds、R.M.Karp))。
- 算法的极限:回溯法(每次只构造一个分量)、分界界限法、平分法、试位法、牛顿法。