第二部分:常用算法类型
图片
递归算法:子问题的解决依赖于递归算法,典型例子阶乘函数、斐波那契数列。需设置终止条件,否则会出现栈溢出。
贪心算法:在当前选项中做最佳选择,典型例子硬币找零、最小生成树。...二叉树:递归与迭代方式实现前序、中序与后序遍历,层次遍历的队列实现。
5.图的搜索:BFS与DFS实现与应用场景对比,最短路径算法如Dijkstra算法与Floyd算法。...递归实现前序、中序和后序遍历。...可实现优先队列。
大根堆:父节点值大于子节点,getMaximum()在O(1)时间内返回最大值。
小根堆:父节点值小于子节点,getMinimum()在O(1)时间内返回最小值。...Dijkstra算法:从起点开始向外扩展,每次选取距离起点最近的未选定点,直到扩展到终点。适用于有向图。
Floyd算法:通过填充dpi表示i到j的最短路径,遍历所有点作为中间点更新最短路径。