对于算法中分治法简单的理解

前言:我们在算法中经常会听到分治法,那么什么是分治法,分治法是用来干什么的。在上完王宏志老师的算法课程之后,我在这里做一个小小的总结,用以巩固知识。

  1. 分治法的定义:用分割问题而解决子问题而达到解决整体问题的方法叫分治法。
  2. 分治法的策略:a:整体的问题分割成为多个子问题。

                                b:求解各个子问题

                                c:合并子问题的解,从而形成原始问题的解。

  1. 分治法的算法分析 :首先建立递归方程,然后求解。下面给出递归方程的求解方法。

当我们输入的大小为n时,则T(n)是时间复杂性,当n<c时,T(n)=θ(1)。否则,我们在划分阶段,我们把问题划分为a个子问题。然后子问题的大小是n/b,那么划分的时间是D(n),那么求解的时间就是T(n)=aT(n/b).且我们合并的时间是C(n).综上:我们可以得出以下的方程:T(n)=θ(1) if n<c  

                        T(n)=aT(n/b)+D(n)+C(n) if n>=c


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值