贪心算法:利用一些常识性的东西和“小聪明进行解题”,选择一个局部最优的方法对局部进行求解,逐步扩大直至全局最优解,但是还是要多次的更换贪心策略进行尝试
动态规划:使用递归来解决问题确实是比较方便快捷,但是会产生大量的冗余的子问题的求解,此时可以利用空间换时间的方式,把重复计算的子问题的解答结果存储起来,最后通过子问题逐步增加,直至最后的最优解
在选择动态规划和贪心算法之间选择的小tips:有一些问题可以用贪心算法先尝试一下,如果此时发现最优解容易被忽略,那就继续尝试贪心算法或者尝试动态规划试一下,因为此时忽略了最优解是因为贪心策略不对,“进入了一种局部最优解跳不出来”。多次尝试贪心策略没有结果,那就可以放弃贪心策略,换成动态规划试一下,就比如最经典的背包问题。
分冶法最经典的就是归并排序了,
1.将复杂的问题分解 分解成1/2
2.分解了之后解决小问题 当只剩下一个数字的时候肯定是有序的了
3.合并 解决好了的有序的小数组合并成大数组
最后:
1:有时候我们在做题的时候可以使用贪心策略小小的优化一下。