递归式求解-主定理

article/2025/9/19 3:29:05

1.主定理:设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式

对非负整数定义,其中n/b指下取整或上取整.那么T(n)可能有如下的渐进界:

(1)若对于某常数 ε>0,有,则;

(2)若.则;

(3)若对于某常数 ε>0,有,且某常数 c<1与所有足够大的n,有,则



2.主定理的使用方法.

由主定理的三种情况可以看出,每一种情况都要比较 f(n) 与进行比较.(求复杂度时,通常取上界)

第一种情况,f(n)与进行比较,较大,则解为

第二种情况,两种函数同样大,这是乘以对数因子lgn,即

第三种情况,f(n)较大,则递归式的解为


3.例题示范

例题(1).,求这个递归式的复杂度.

第一步.计算,可求得=n^2,

第二步.与f(n)=n进行比较,因此符合第一种情况,解得


例题(2)

第一步.计算,可求得a=1, b=3/2,因此=

第二步.与f(n)=1进行比较,符合第二种情况,解得


例题(3)第三中情况和第一种类似,不再举例


例题(4)

第一步.计算,a=2, b=2,    = n.看上去符合第三种情况,因为f(n)=lgn渐进大于n,但是不是多项式大于. 

 对于任意正常数ε,比值f(n)与等于nlgn/n = lgn.渐进小于n^ε,(可用求极限方法分子分母同时求导求得).这种情况落在情况二和情况三之间.

这种情况下的递归式求解要用到:(算法导论4.4-2)

定理:若,其中k>=0,则主定理中递归式的解为



http://chatgpt.dhexx.cn/article/2AhfVH8o.shtml

相关文章

使用主定理求时间复杂度

文章目录 使用主定理求时间复杂度主定理直接可用主定理转化之后可以利用主定理使用主定理求时间复杂度 很多算法最后都可以写出 T ( n ) = a T ( n b ) + f ( n ) ) ( a ≥ 1 , b ≥ 1 ) T(n)=aT(\frac{n}{b}) + f(n)) (a\ge1,b\ge1) T(n)=aT(bn​)+f(n))(a≥1,b≥1) 的递推式…

主定理学习笔记

主定理用于求递推方程的阶。 设a>1, b>1为常数&#xff0c;f(n)为函数&#xff0c;T(n)为非负整数&#xff0c;且 T(n) aT(n/b) f(n) &#xff08;注意a、b取值范围&#xff09; a代表递归调用子问题的个数(子问题数>小于原问题&#xff0c;故a>1)n / b代表子…

主定理证明

转自GoogleSite算法导论习题解答&#xff0c;先fork一下 算法导论其实已经给出了具体的证明步骤&#xff0c;但是还是有些省略&#xff0c;此文章是对主定理进行了完全的证明&#xff1b; 主定理的证明大致分为两个阶段&#xff1a; (1)假设n为b的整数次幂&#xff0c;如1,b,b^…

主定理(递归式分析)

上图来自《算法导论》 其意思为&#xff1a; 令a≥1&#xff0c;b>1都是常数&#xff0c;f(n)是一个函数 T&#xff08;n&#xff09;是定义在非负整数上的递推式&#xff1a; 1、对某个常数&#xff0c;有&#xff0c;则 2、若&#xff0c;则 3、对某个常数&#xff…

主定理学习及理解

主定理证明 请参考该文章: https://wenku.baidu.com/view/993d716a84868762cbaed522.html 主定理理解运用 看完上面的推导证明, 想必对主定理的推导有了一定理解, 那么又如何理解运用呢? 先晒下公式: 公式大致阐明了三种情况: f(n) < nlogb a, 则取时间复杂度为O(nlogb…

主定理

《目录》 使用主定理求解递归式? 算例 ?证明主定理 使用主定理求解递归式 主定理是分治算法分析中非常重要的定理。 如&#xff0c;我们要处理一个 规模为 的问题通过分治&#xff0c;得到 个规模为 的问题&#xff0c;分解子问题和合并子问题的时间是 &#xff1a; 在上…

主定理(Master Theorem)

主定理是分析分治算法时间复杂度很重要的一个定理。 我们之前对于一个递归类的代码进行时间复杂度分析&#xff0c;一般会采用递归树的方式&#xff0c;下面我们先介绍一下递归树的方式&#xff0c;理解之后&#xff0c;再引入主定理的相关内容。 分治的介绍 分治算法总是将…

主定理(Master Theorem) 及其应用

主定理"Master Theorem" 一、主定理(Master Theorem)二、应用举例 在分析算法的时候&#xff0c;我们经常需要分析递归算法的时间复杂度。 一、主定理(Master Theorem) 主定理适用于求解如下递归式算法的时间复杂度&#xff1a; 其中&#xff1a; n 是问题规模大…

2020.10.27【GWAS】丨使用vcftools绘制pi(θπ) 选择消除分析图

这两天在整理GWAS流程&#xff0c;发现绘制θπ选择消除分析图在网上只能找到计算π的代码&#xff0c;但是没有绘图代码&#xff0c;于是自己搞了一下&#xff0c;供大家参考。 vcftools --vcf AxiomGT1.calls.vcf --window-pi 1000 --window-pi-step 1000 --out GT1_pi 生成…

使用vcftools或者gcta计算群体间固定指数(Fixation index,FST)

下列所用到的数据均为千人基因组数据库 1、通过vcftools计算FST 命令行如下&#xff1a; ./vcftools --vcf input_data.vcf --weir-fst-pop population_1.txt --weir-fst-pop population_2.txt --out pop1_vs_pop2 其中&#xff0c;input_data.vcf就是输入的vcf格式 population…

那些在vcftools安装上踩的坑

[TOC]那些在vcftools上踩的坑 那些在vcftools安装上踩的坑 近期由于学习需要所以需要安装vcftools做基因比对分析。然后的然后就各种问题来了… vcftools在kail linux 系统下安装 老生常谈的话题就直接上代码吧。 // 这个想必大家都很熟悉 tar -zxvf vcftools_0.1.13.tar.…

vcftools如何在Linux系统中安装

这里&#xff0c;记录一下vcftools的安装教程。 1. 下载 https://vcftools.github.io/examples.html 下载到本地&#xff0c;上传到服务器中。 2. 解压缩 unzip vcftools-vcftools-v0.1.16-18-g581c231.zipcd vcftools-vcftools-581c231/3. 安装 bash autogen.sh ./configur…

vcftools 安装 (bash autogen.sh ./configure出问题)

安装可以直接从gitclone安装&#xff0c;省略下载安装包及解压的过程&#xff0c;代码如下 git clone https://github.com/vcftools/vcftools.git 官方的教程步骤接下来是配置环境及安装 bash autogen.sh ./configure make make install 但是我之前一直在这一步卡了很久…

vcftools-linux-conda安装、使用

shell conda命令安装&#xff1a; conda install -c bioconda vcftoolsvcftools文档&#xff1a; OUTPUT FILE OPTIONS--out <output_prefix>This option defines the output filename prefix for all files generated by vcftools. For example, if <prefix> is…

Chr函数

函数chr&#xff08;&#xff09;的作用是返回其参数所表示的字符&#xff0c;参数是这个字符的ASCII码。 CHR函数&#xff0c;传入一个数值&#xff0c;返回这个数值对应的ascii码字符&#xff0c;比如chr(65)输出的是大写的A 示例&#xff1a; Private Sub Command2_Click…

Python笔记:内置函数chr()用法

chr(i) chr()&#xff1a;输入一个整数【0&#xff0c;255】返回其对应的ascii符号&#xff0c;相反ord&#xff08;&#xff09;函数就是用来返回单个字符的ascii值&#xff08;0-255&#xff09;或者unicode数值&#xff08;&#xff09;参数 i :可以是10进制也可以是16进制的…

python中的chr和ord函数_python chr/ord函数区别和使用

原博文 2020-03-16 10:04 − python中 内置函数 chr 和 内置函数 ord 可以配对使用&#xff1b;chr函数将ascll码转为字符&#xff1b;ord函数将字符转为ascll码; 一.chr函数将ascll码转为字符 chr(65) >>&gt... 相关推荐 2019-12-23 08:11 − day3复习 >…

python中chr函数是什么意思_python函数之chr(i)

chr(i) 中文说明&#xff1a; 返回整数i对应的ASCII字符。与ord()作用相反。 参数x&#xff1a;取值范围[0, 255]之间的正数。 版本&#xff1a;该函数在python2和python3各个版本中都可用。不存在兼容性问题。 英文说明&#xff1a; Return a string of one character w…

python 中chr_python中chr

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python chr函数最后更新于:2020-03-10 09:26:00在python中 ord函数可以字符作为参数,返回对应的ascll码; 其中内置函数chr 与 ord函数作用相反,chr函数可以…

php chr 反斜杠,PHP chr()函数讲解

PHP chr()函数讲解 PHP chr() 函数 实例 从不同 ASCII 值返回字符&#xff1a; echo chr(52) . ""; // Decimal value echo chr(052) . ""; // Octal value echo chr(0x52) . ""; // Hex value ?> 定义和用法 chr() 函数从指定 ASCII 值返回…