简述(只是简单的叙述,所以这里不会讲的很清楚)
1.贪心算法
1.贪心算法又叫做贪婪算法,是指在对问题求解的时候,总是坐出当前看起来最好的选择,也就是说,不从总体上的最优考虑,它所作出的只是某种意义上的局部最优解
2.注意贪心算法不敢保证就一定能找到最优解,但是大多数情况下还是可以的
2.动态规划:
1.我的理解就是找到最优子结构--一个递推式
2.将上一次运算的结果放到存起来,攻下一次用
3.使用条件是:找出最优解的问题
3.欧几里德算法:tmd就是求最小公约数
求最大公约数,辗转相除法---欧几里得算法
``
def gcd(a,b):
return a if b == 0 else gcd(b, a % b)
欧几里得证明过:
gcd(a, b) = gcd(b, a%b) ==> gcd(60, 21) = gcd(21, 18) = gcd(18, 3)=gcd(3, 0),最后取得余数为3,就像这样不断德调换a,b的位置,不断取余最后得到结果,就是辗转相除法,也就是欧几里得算法