算法分析---主定理
2013-08-01 20:22
148 查看
在算法分析中,主定理(英语:master theorem)提供了用渐近符号表示许多由分治法得到的递推关系式的方法。此方法经由经典算法教科书《算法导论》而为人熟知。不过,并非所有递推关系式都可应用主定理。该定理的推广形式包括Akra-Bazzi定理。
假设有递推关系式
,其中
为问题规模,为
递推的子问题数量,
为每个子问题的规模(假设每个子问题的规模基本一样),
为递推以外进行的计算工作。
情形一:
如果存在常数
,有
,并且是多项式的小于
那么
情形二:
如果存在常数k ≥ 0,有
那么
情形三:
如果存在常数
,有
,并且是多项式的大于
同时存在常数
以及充分大的
,满足
那么
常用算法中的应用:
假设有递推关系式
,其中
为问题规模,为
递推的子问题数量,
为每个子问题的规模(假设每个子问题的规模基本一样),
为递推以外进行的计算工作。
情形一:
如果存在常数
,有
,并且是多项式的小于
那么
情形二:
如果存在常数k ≥ 0,有
那么
情形三:
如果存在常数
,有
,并且是多项式的大于
同时存在常数
以及充分大的
,满足
那么
常用算法中的应用:
算法 | 递推关系式 | 运算时间 | 备注 |
---|---|---|---|
折半搜索 | 情形二(k = 0) | ||
二叉树遍历 | 情形一 | ||
归并排序 | 情形二(k = 0) |
相关文章推荐
- 分析算法时间复杂度--主项定理
- 【算法复杂度分析】主定理
- .NET下文本相似度算法余弦定理和SimHash浅析及应用实例分析
- .NET下文本相似度算法余弦定理和SimHash浅析及应用实例分析
- 算法 渐进 大θ定理 / 实例分析
- 数据说的舆情分析的算法模型的建立
- [算法分析与设计] leetcode 每周一题: 494. Target Sum
- C++与matlab混合编程基于主成份分析算法的数值分析
- 算法导论--算法的概率分析技术
- 算法分析与设计丨第三周丨LeetCode(5)——Median of Two Sorted Arrays(Hard)
- STL源码分析之泛型算法由来
- 分治与递归(算法分析与设计)
- LRU算法实践分析
- 公交车换乘问题的算法分析小探
- 几种线程池的实现算法分析
- 算法分析与设计复习
- 基于规则评分的密码强度检测算法分析及实现(JavaScript)
- 算法导论第2章(1):插入排序,算法分析
- 算法时间复杂度分析基础
- ViBe背景建模算法简介和代码分析