主定理求解算法时间复杂度

主定理求解算法时间复杂度主定理所谓主定理 就是用来解递归方程的一种方法 此方法可以用来求解大多数递归方程 设递归方程为 T n aT n b f n nbsp 其中 a 1 b 1 主定理 nbsp nbsp nbsp 1 如果存在常数 0 有 f n O n logb a 则 T n n logb a nbsp nbsp nbsp 2 若 f n n logb a 则 T n n logb a logn

主定理

所谓主定理,就是用来解递归方程的一种方法,此方法可以用来求解大多数递归方程。

设递归方程为T(n)=aT(n/b)+f(n)  (其中a≥1,b>1)

主定理:

     1. 如果存在常数ε>0有f(n)=O(n^(logb^a-ε)),则T(n)=Θ(n^(logb^a));

     2. 若f(n)=Θ(n^(logb^a)),则T(n)=Θ(n^(logb^a)logn2^n);

     3. 若对某个常数ε>0有f(n)=Ω(n^(logb^a)+ε),且对某个常数c<1和所有足够大的n有af(n/b)≤cf(n),则T(n)=Θ(f(n))。

歪曲记忆法:谁大听谁的,相等就乘个对数系数

多项式大于(小于)

在看算法导论时候,看到讲主定理节时,有“在第一种情况中,不仅要有f(n)小于n^log(b)(a),还必须是多项式地小于……”,之前先入为主的以为多项式地小于就是两者之差为一个多项式(事实上这么想也没大错,只是形式不对),但注意到是在算法的世界里,所以不需要精确到一个多项式(形如n^3+n^2+n+3之类的),只要两者之比(即f(n)/log(a)(b))渐近小于n^e(e > 0)即可。

归纳起来,就是:(e > 0的任意实数)

f(x) > g(x) * n^e ==> f(x)多项式地大于g(x);

f(x) < g(x) * n^e ==> f(x)多项式地小于g(x)。

歪曲记忆法:就是得差个多项式啊,多项式是n、n^2、n^3……这种样子的,lgn 不是个合法多项式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227361.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午9:29
下一篇 2026年3月16日 下午9:29


相关推荐

  • java中的递归算法_java递归算法详解

    java中的递归算法_java递归算法详解Java中的递归算法虽然简单,但想要精通也是有着一定的难度的,本篇文章我们就来详细了解下递归算法。什么是递归?一般的说,递归算法是一种直接或间接地调用自身的算法。在程序中,递归算法能够使算法的描述简洁而且易于理解。递归分几类?递归通常分为两类,直接递归和间接递归:1、直接递归称为方法自身调用自己。2、间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。递归怎么实现实现?例://递归…

    2022年7月7日
    22
  • Agent开发学习

    Agent开发学习

    2026年3月12日
    2
  • 【2021-01-05】JS逆向之B站模拟登入(含极验点选)「建议收藏」

    【2021-01-05】JS逆向之B站模拟登入(含极验点选)「建议收藏」文章目录前言一、预告无感滑块点选前言搞了不到两个星期,终于把某验验证码(无感、滑块、点选)全部给啃下来了,过程还是挺艰辛的,这篇不讲方法,之后会出一系列的方法,感兴趣的可以提前关注下~一、预告无感滑块点选…

    2025年10月26日
    4
  • RTCM格式解析

    RTCM格式解析RTCM 为应对 GNSS 实时数据服务 RadioTechnic 提出了一种通用的 GNSS 数据编码格式用于网络通讯 与后处理常用的 RINRX 文件格式类似 RTCM 可以说是实时 GNSS 服务中的 RINEX 文件 在实时 PPP RTK 定位计算中几乎都会使用 在实际使用时 RTCM 以二进制序列的数组播发 其播发数据的格式如下图所示 如上表所示 RTCM 播发包括序言 保留字 信息占用字节个数 信息 和 CRC CyclicRedund

    2026年3月18日
    1
  • EJB详解

    EJB详解Chapter01 企业级开发背景知识一 什么是企业级程序 EnterpriseAp nbsp 具有以下特点的程序 nbsp 1 围绕商业目的 nbsp 2 分布分层的程序架构 二 企业级应用的架构发展历史 Host Terminal 主机 终端 终端不具备处理能力 数据由主机处理 终端为哑终端 可接受命令 不处理命令优点

    2026年3月18日
    1
  • MySQL忘记密码怎么修改密码[通俗易懂]

    MySQL忘记密码怎么修改密码[通俗易懂]MySQL的root帐号密码默认为空,经常都有修改密码后忘记密码的事。如果忘记了root帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方式来解决这个问题。本文分别对Windows环境与Linux环境下介绍MySQL忘记密码时修改密码的方法,希望帮助初学者解决丢失密码的烦恼。

    2022年6月22日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号