master公式(主方法)
2018-03-11 15:36
302 查看
· master公式(也称主方法)是用来利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法,以后有机会和亲们再唠),众所周知,分治策略中使用递归来求解问题分为三步走,分别为分解、解决和合并,所以主方法的表现形式:
T
= aT[n/b] + f (n)(直接记为T
= aT[n/b] + T (N^d))
其中 a >= 1 and b > 1 是常量,其表示的意义是n表示问题的规模,a表示递归的次数也就是生成的子问题数,b表示每次递归是原来的1/b之一个规模,f(n)表示分解和合并所要花费的时间之和。
解法:
①当d<logb a时,时间复杂度为O(n^(logb a))
②当d=logb a时,时间复杂度为O((n^d)*logn)
③当d>logb a时,时间复杂度为O(n^d)
T
= aT[n/b] + f (n)(直接记为T
= aT[n/b] + T (N^d))
其中 a >= 1 and b > 1 是常量,其表示的意义是n表示问题的规模,a表示递归的次数也就是生成的子问题数,b表示每次递归是原来的1/b之一个规模,f(n)表示分解和合并所要花费的时间之和。
解法:
①当d<logb a时,时间复杂度为O(n^(logb a))
②当d=logb a时,时间复杂度为O((n^d)*logn)
③当d>logb a时,时间复杂度为O(n^d)
相关文章推荐
- 不当免费技术支持的10种方法
- SQLCLR在Visual Studio中创建方法
- SqlServer2005 SQL Server 版本变更检查 警告解决方法
- php引用详解,php引用传递使用,php引用方法返回,php引用分析!
- Ajax异步提交表单数据简单方法
- c# 扩展方法
- 清理C盘方法
- javascript的几种继承方法
- putty使用方法(windows远程登录Linux)
- 笨方法学习Python-习题42: 物以类聚
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- EXP-00091错误的说明和解决方法
- 去除新房子甲醛的方法
- 防止表格被撑开或div层被撑开的多种方法
- 方体计算的多路数组聚集方法
- Groovy探索之闭包 七 使用闭包来实现模板方法模式
- 转-Spring的多事务配置(多个Transaction Manager)和使用方法
- jQuery子窗体取得父窗体元素的方法
- 利用art.dialog id将art.dialog关闭方法
- npm安装模块失败的重装方法