码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 主定理(Master Theorem)推导和理解(2)


    主定理的证明,见主定理(Master Theorem)推导和理解(1)_Happy_Traveller的博客-CSDN博客,看几个实际case。

    Case 1:求解递推方程:

    T(n) = 9T(n/3) + n,T(n)的计算复杂度

    依据主定理,a=1, b=3, f(n) = n,那么

    n^{log_{3}^{9}} = n^{2}, Obviously, f(n) = O(n^{log_{3}^{9} - 1}) (\varepsilon = 1) \\ |\quad So,T(n) = O(n^{2})

    Case 2 : 求解递推方程:

    T(n) = T(2n/3) + 1, T(n)的计算复杂度

     依据主定理,a=1, b=2/3, f(n) = 1,那么

    a = 1, b=3/2, f(n) = 1, Obviously, f(n) = \Theta (n^{log_{3/2}^{1}}) = \Theta (n^{0}) = \Theta (1) \\ | \quad So, T(n) = \Theta (logn)

    Case 3 : 求解递推方程:

    T(n) = 3T(n/4) + nlogn, T(n)的计算复杂度

    依据主定理,a=3, b=4, f(n) = nlogn ,那么

    nlogn = \Omega (n^{log_{4}^{3} + \varepsilon}) = \Omega (n^{0.793 + \varepsilon}), So, 0 < \varepsilon < 0.207 \\ |\quad Meanwile, af(n/b)\leq cf(n), \frac{3n}{4}log\frac{n}{4} \leq cnlogn, So, c \geq \frac{3}{4} \\ |\quad So, T(n) = \Theta (f(n)) = \Theta (nlogn)

    Case 4 : 求解递推方程:

    T(n) = 2T(n/2) + nlogn,T(n)的计算复杂度

    依据主定理,a=2, b=2, f(n) = nlogn,那么

    log_{b}^{a} = n^{log_{2}^{2}} = n, f(n)=nlogn, can't \enspace find \enspace \varepsilon, make\enspace nlogn = \Omega (n^{1+\varepsilon})

    所以case 4不能使用主定理

    同时,直观上看,递推方程中,将原问题拆成b个子问题,同时需要a个这样的子问题,同时需要f(n)的操作合并这些子问题,所以,如果b越大,a越小,同时f(n)步骤越少,总体的计算就越少,就是越是好的算法。

  • 相关阅读:
    API 接口:原理、设计与应用
    国内最牛的Java面试八股文合集,不接受反驳 我这该死的魅力
    国产AI绘画软件“数画”刷爆朋友圈,网友到底在画什么
    前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十一章 基础界面开发 (组件封装和使用)
    JTS: 17 DiscreteHausdorffDistance 豪斯多夫距离计算
    Git分布式版本控制工具
    Bun 1.0.7 版本发布,实现多个 Node.js 兼容改进
    EdrawMax思维导图,EdrawMax组织结构图
    【Java SE】类和对象
    6.Tomcat概述与部署
  • 原文地址:https://blog.csdn.net/zhangsj1007/article/details/127719436
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号