1、主方法使用条件

用主方法求解递归式有条件,必须要求递归式为以下形式:

其中a>=1,b>1,f(n)渐进趋正,意为对足够大的n,f(n)是正的,即n>= n 0 n_0 n0​时,f(n)>0。
其中 n为问题规模, a为递推的子问题数量, n/b 为每个子问题的规模(假设每个子问题的规模基本一样), f(n)为递推以外进行的计算工作。

2、主方法具体使用

**核心是比较f(n)与n^(logba)的大小。**根据大小关系可以分为三种情况:

3、举例

Ex1:T(n)=4T(n/2)+n
这里f(n)=n, n ( l o g b a ) = n 2 n^(logba)=n^2 n(logba)=n2,f(n)小于n^(logba),所以为第一种情况,T(n)=θ( n 2 n^2 n2).
Ex2:T(n)=4T(n/2)+ n 2 n^2 n2
这里f(n)= n 2 n^2 n2, n ( l o g b a ) = n 2 n^(logba)=n^2 n(logba)=n2,f(n)等于n^(logba),所以为第二种情况,T(n)=θ( n 2 l g n n^2lgn n2lgn)
Ex3:T(n)=4T(n/2)+ n 3 n^3 n3
这里f(n)= n 3 n^3 n3, n ( l o g b a ) = n 2 n^(logba)=n^2 n(logba)=n2,f(n)大于n^(logba),所以为第三种情况,T(n)=θ( n 3 n^3 n3)

主定理(主方法)求解递归式相关推荐

  1. 用递归树方法求解递归式

    用递归树方法求解递归式 [备注:需要修改] 一个递归算法的递归式:T(n)=3T(n/4)+cn2T\left(n\right)=3T\left(n/4\right)+cn^2T(n)=3T(n/4) ...

  2. 第四章 分治策略 4.4 用递归树方法求解递归式

    4.4 用递归数方法求解递归式 一. 1.   在递归树中,每个结点表示一个单一子问题的代价,子问题对应某次递归函数调用.我们将树中每层中的代价求和,得到每层代价,然后将所有层的代价求和,得到所有层次 ...

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

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

  4. 算法导论 — 4.4 用递归树方法求解递归式

    笔记 在应用代入法求解递归式时,需要事先做出一个好的猜测.然而,有时候做出好的猜测是很困难的,此时可以考虑采用递归树方法.在递归树中,每个结点表示一个单一子问题的代价.创建递归树之后,对树的每层的各子 ...

  5. 分治算法中的数学——求解递归式(代入法)

    前言 在运用分治法将原问题分解成多个子问题后,通常可以得到一个关于时间复杂度的递归式,如T(n)=T(n/2)+O(1),如何求解递归式并得出该算法的时间复杂度O(f(n))就是我们要解决的问题.一般 ...

  6. 4.3—代入法求解递归式

    对于代入法求解递归式,有以下自己的感触: 1.中间的证明过程用到了数学归纳法的思想: (1)首先证明初始条件是不是满足的,例如T(n)=O(nlgn),首先得验证当n=1的时候是不是满足条件,这里还牵 ...

  7. 算法分析之-主方法分析递归式

    主方法 在算法分析中,我们主要使用代入法,递归树法,和主方法来分析递归式 而主方法为如下形式的递归式提供了一套"菜谱"式解法: T(n)=aT(nb)+f(n)T(n)=aT(\f ...

  8. 替换法(代入法)求解递归式

    一.原理 替换法(或者叫代入法)就是我们直接对T(n)进行猜测,然后带入原递归式中进行验证.也就是猜测一个界,然后使用数学归纳法来证明这个界是对的. 步骤{\color{Red}步骤}步骤 : (1) ...

  9. 第四章 4.3 用代入法求解递归式

    4.3-1 证明:T(n)=T(n-1)+n的解为O(n2n^2). c(n−1)2+n≤n2cn2−2cn+c+n≤n2cn2−(2c−1)n+1≤n2 c(n-1)^2+n\le n^2 \\cn ...

最新文章

  1. 一些能说到点子上的课程
  2. 市场营销学python有用吗_1、熟悉Python编辑、开发和运行环境。
  3. 智能合约的核心思想、语法重点、编程模式、示例、规范及架构
  4. MySQL 查询统计 日期查询
  5. Python应用实战案例-Python协程管理精讲万字长文(建议收藏)
  6. PHP实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定
  7. AGC002E Candy Piles
  8. session多服务器共享的方案梳理
  9. android 判断 飞行模式,如何在Android上检测飞行模式?
  10. UDP对应的应用层协议之DHCP协议
  11. 图像处理/255.0 和/127.5 -1
  12. MySQL索引原理、失效情况
  13. 【Git】Git提交代码到GitHub的基本操作流程
  14. 一维FDTD等离子体的Matlab,修正过的一维FDTD等离子体MATLAB代码(公式修正)
  15. NOI.AC NOIP2018 全国热身赛 第四场
  16. matlab:Matlab基础教程 第三章 数组和向量
  17. 微信小程序文字语音转换/中英文自动翻译
  18. Qt自定义控件的实践——电池电量控件
  19. 迪士尼的漫威宇宙第四阶段计划出炉
  20. [读书笔记]自控力内容整理

热门文章

  1. 网站独立访客数UV的统计--海量数据去重
  2. C++中char *和char []的区别
  3. 跨境电商培训机构靠谱吗?跨境电商在我国遍地开花
  4. 载体坐标系-惯性坐标系-世界坐标系
  5. 绝对值不等式的常见形式及解法
  6. 电路学习1——磁珠的工作原理、磁珠的分类、磁珠的模型、磁珠的参数、磁珠与电感的区别、磁珠的应用、磁珠的误区
  7. css不可修改,css怎么设置text不可编辑
  8. .net core release 发布
  9. python编写存储过程_存储过程 - msjaxuexi - 博客园
  10. echo “新密码“ | passwd --stdin 用户名