【算法笔记】基本算法分类

一、穷举法

  思想:在没有很好的算法进行运算的情况下,可以尝试穷举所有情况。

  EX:顺序找K值

二、回溯、搜索

  回溯的思想:能进则进,不能进则换,不能再后退的过程。

  EX:八皇后、树和图遍历

三、递归分治

  思想:通过统一的方法,对整体中的部分进行循环调用,最终实现对整体的处理。

  EX:二分找K值、快速排序、归并排序

四、贪心法

  思想:每次求解的时候都去看当前的最佳解,每次贪心求最佳最后得到的总体的结果还是最佳的。

  EX:Huffman编码树、最短路径Dijkstra算法、最小生成树Prim算法

五、动态规划

  思想:对小规模的问题我们得到最优解,然后在更大规模的时候去组合这些最优解,最后对于整个大问题我们得到一个整体的最优解。

  要求:最优子结构性质,无后效性,有重叠子结构。

  Ex:最短路Floyd算法

posted @ 2020-04-07 23:59  蒋起龙  阅读(240)  评论(0编辑  收藏  举报