·    master公式(也称主方法)是用来利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法,以后有机会和亲们再唠),众所周知,分治策略中使用递归来求解问题分为三步走,分别为分解、解决和合并,所以主方法的表现形式:

T [n] = aT[n/b] + f (n)(直接记为T [n] = aT[n/b] + O (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)

master公式(主方法)相关推荐

  1. 算法笔记-递归算法、递归排序、递归的时间复杂度、master公式(也叫主方法)

    1. 递归排序题 通过递归算法来获取一个数组中的最大值 2. 算法思路 采用递归的思路来进行解题,那么肯定是需要自己调用自己的,这也就是递归,于是考虑怎么自己调用自己呢?我们可以采用二分法来制造递归的 ...

  2. Java黑皮书课后题第6章:6.35(几何:五边形的面积)五边形的面积可以用如下公式计算。编写一个方法,使用下面的方法头返回五边形面积。编写一个主方法,提示用户输入五边形的边,然后显示它的面积

    6.35(几何:五边形的面积)五边形的面积可以用如下公式计算.编写一个方法,使用下面的方法头返回五边形面积.编写一个主方法,提示用户输入五边形的边,然后显示它的面积 题目 题目描述与运行示例 破题 代 ...

  3. git使用报错:fatal: Couldn't find remote ref master的解决方法

    git使用报错:fatal: Couldn't find remote ref master的解决方法 fatal: Couldn't find remote ref master 翻译过来就是:致命 ...

  4. 左神算法课笔记(二):链表、栈和队列、递归Master公式、哈希表、有序表

    单向链表 双向链表 单链表.双链表最简单的面试题 1.单链表和双链表如何反转 package class02;import java.util.ArrayList;public class Code0 ...

  5. mysql master 配置_MySQL双Master配置的方法详解

    刚刚抽空做了一下MYSQL 的主主同步.把步骤写下来,至于会出现的什么问题,以后随时更新.这里我同步的数据库是TEST1.环境描述.主机:192.168.0.231(A)主机:192.168.0.23 ...

  6. 命题公式的主合取范式C语言,命题公式主范式的自动生成与形式输出.pdf

    收稿日期 2006 04 19 作者简介 张会凌 1954 男 甘肃成县人 甘肃联合大学数学与信息学院副教授 主要从事微分几何与计算机方面 的研究 文章编号 1672 691X 2006 05 004 ...

  7. 【算法导论-主定理】用主方法求解递归式 学练结合版

    问题:若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN 且 T(1)=1 则该算法的时间复杂度为( ). O(Nsqrt(N)) O(NlogN) O(N(logN)^2) O ...

  8. 递归方程的求解(代入、递归树和主方法)

    递归方程 递归方程之前提到过,就是部分算法在求解的过程中使用了将一个问题划分成几个等价的小问题,在这个过程中,我们就可以列出一个等式. (如归并排序中,将一个大数组拆分成两个小数组分别计算,然后用O( ...

  9. 交换基本数据类型的方法swap,并影响到主方法

    不知道朋友在哪里看到的问题,qq来问我,题目是:在不修改主方法的前提下使用一个方法交换两个int的值,方法如下: public static void main(String[] args) {Int ...

最新文章

  1. Redis报错解决:RDB: 0 MB of memory used by copy-on-write
  2. 非常规解释:分类ML模型的十大模型性能指标
  3. CentOs 6.0 下安装cacti的syslog插件
  4. 多媒体开发之--- live555 vs2010/vs2013下编译,使用,测试
  5. Linux fstab参数详解
  6. python精要(72)-VMDK操作(2)
  7. dict取值_Python基础数据类型「list、tuple、dict」
  8. OpenCV学习笔记(1)——显示图片
  9. java final date_Java中的时间和日期(上)
  10. NIS认证管理域中的用户
  11. c++获取串口设备名称_RTThread PIN设备学习笔记
  12. linux下别名alias的设置
  13. CentOS6.7系统优化加强牢固脚本
  14. 我被美团会员割了韭菜
  15. 如何可以快速创作思维导图?好用的mac思维导图软件推荐
  16. HTML5视频播放器jQuery插件
  17. 大数据分析和人工智能科普
  18. 大胆冲数学建模勘误表
  19. html5中怎么实现居中显示图片
  20. 基于Google 验证器 实现内网的双因素认证

热门文章

  1. 推荐 12 月 yyds 的开源项目
  2. java获取chanel的ip_Netty:在消息中获取远程IP地址 - java
  3. win10 提供管理员权限才能删除文件夹
  4. Pygame Event事件模块(详细示例)
  5. 理性的北方大学与物质的南方高校十大对抗(转载)
  6. 软件测评基础知识(三)-性能效率与兼容性-中科软测认证中心
  7. 通达OA系统管理员手册(一)
  8. 收藏 5个 整站下载工具
  9. 浅谈IM软件客户端的断线重连、心跳和长在线
  10. 总结2019,规划2020,未完待续