分治法——基本思想
2016-07-14 14:13
239 查看
分治法——基本思想
设计过程
划分问题:整个问题划分成多个无关联的子问题递归求解:求解各个子问题
递归调用正设计的算法
合并问题:合并子问题的解,形成原始问题的解
分析过程
建立递归方程求解递归方程
递归方程的建立方法
设输入大小为n,T(n)为时间复杂性当n<c,T(n)=θ(1)
划分阶段的时间复杂性
划分问题为a个子问题。
每个子问题大小为nb。
划分时间可直接得到=D(n)。
递归求解阶段的时间复杂度。
递归调用
求解时间=aT(nb)
合并阶段的时间复杂性
时间可以直接得到=C(n)
结论
T(n)={θ(1),aT(nb)+D(n)+C(n),if n<cif n≥c求解方式
使用分治算法主定理,参考分治算法主定理相关文章推荐
- 一步一步跟我学易语言之第二个易程序菜单设计
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- ruby 单态方法 分析
- C#递归算法之分而治之策略
- 典型入侵日志分析
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- C#中设计、使用Fluent API
- 经典排序算法之冒泡排序(Bubble sort)代码
- 一根网线内的8根线哪4根是传输数据的,哪四根是防干扰的