分治法

分治法
分治法的基本思想

  • 将原始问题划分或归结为规模较小的子问题
  • 递归或迭代求解每个子问题
  • 将子问题的解综合得到原问题的
  • 注:
    子问题与原始问题完全一样
    子问题之间可彼此独立的求解
    递归停止时,子问题可直接求解

算法设计思想

  • 将原问题归结为规模为 n - 1 的2个子问题
  • 继续归约,将问题归结为规模为 n - 2 的4个子问题,继续…当子问题规模为1时,归约过程截止
  • 从规模 1 到 n - 1 ,陆续组合两个子问题的解,直到规模为n

分治算法的一般性描述
Divide(P)
if |P| <= c then S§
divide P into P1,P2,…Pn //划分
for i <–1 to k
yi <–Divide(Pi) //求解子问题
return Merge(y1,y2,…yk) //综合解

分治算法的复杂度分析递推公式
在这里插入图片描述
分治法复杂度分析主定理
在这里插入图片描述
改进分治算法途径

  1. 减少子问题
  2. 增加预处理

总结
写博客是为了一是整理所学知识,亲生写代码的经验,而是为了总结经典算法,三是督促自己努力,懂得越多,越知道自己知识的浅薄,四是希望和他人多多交流,有什么不对的地方大佬们多多指点

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

望北i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值