一、穷举法
思想:在没有很好的算法进行运算的情况下,可以尝试穷举所有情况。
EX:顺序找K值
二、回溯、搜索
回溯的思想:能进则进,不能进则换,不能再后退的过程。
EX:八皇后、树和图遍历
三、递归分治
思想:通过统一的方法,对整体中的部分进行循环调用,最终实现对整体的处理。
EX:二分找K值、快速排序、归并排序
四、贪心法
思想:每次求解的时候都去看当前的最佳解,每次贪心求最佳最后得到的总体的结果还是最佳的。
EX:Huffman编码树、最短路径Dijkstra算法、最小生成树Prim算法
五、动态规划
思想:对小规模的问题我们得到最优解,然后在更大规模的时候去组合这些最优解,最后对于整个大问题我们得到一个整体的最优解。
要求:最优子结构性质,无后效性,有重叠子结构。
Ex:最短路Floyd算法
原文:https://www.cnblogs.com/jiangqilong/p/12657233.html