各种算法的定义

我就是复习,有什么不对的请指正,我明天就考试了,指正晚了我可能就挂了,机不可失失不再来啊,哈哈哈

贪婪法:

  也叫贪心法,听名字就知道是选择最优的,人都是趋利避害的嘛,算法也是,通过局部最优解,按照一定顺序,比如从前往后或者从后往前逐步得到全局最优解,只考虑当前局部信息情况就做出决策,有点做事很鲁莽的感觉

递推法:

  听名字就知道是一步一步推出来结果的,它依靠的是问题本身信息之间的递推关系,比如你求一个什么等差等比数列的和什么的,有公式就求得出来这种,多数用于计算

递归法:

  听名字就知道和递推法是表亲,是利用大问题与子问题之间的递推关系实现的,将大问题分解成规模较小的子问题,子问题再分成子问题直到能解决最小那个子问题了再求得大问题,要注意必须是同样的分解和综合方法

枚举法:

  听名字就知道是把所有问题统统列举出来然后做选择得到真正的解,枚举法算蛮力法,就是暴力解决问题,好像拆快递不用剪子不用打就硬撕的感觉,解得了问题但是费劲,要求问题的解释有限的,可列举全部的,容易列举的,固定的,不容易找出大小规模之间的关系

递归回溯法:

  听名字就知道先递归再回溯,注意,是回su不是回shu,咳咳,恩,正经一点,通过递归遍历所有问题的可能解,找出通路,如果此路不通,就要留下买路财,啊,呸,是回溯到上一步,再尝试别的通路

分治法:

  听名字就知道是将问题逐步分解成可以解决的小问题,然后解决掉的小问题合成大问题,最终得到问题的解

动态规划法:

  听名字就知道不会简单,,,通过多阶段决策过程解决问题,每一个阶段结果是一个决策结果序列,要保存起来,这里面的哪一个是最终的最优解是要看以后的每一步的决策,也就是说你现在的每一步都影响你以后的发展,

  当问题不能分解成独立的子问题时,有符合最优化原理,就可以用动态规划,通过递归决策,逐步找出最优解,是高消费高效率的算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值