当前位置: 首页 > article >正文

算法分析,主定理

主定理,master theorem,算法中基于分治思想写出的递归解法,其时间复杂度可用于一个递推关系式表示,而主定理用于计算满足某些条件下的递推关系式中的时间复杂度。

问题的规模为n,T(n)为问题规模为n时需要的耗时,规模为n的问题可以分解为a个规模为n/b的子问题,是将原问题分解成子问题和将子问题的解合并成原问题的解的时间f(n),则

T ( n ) = a T ( n b ) + f ( n ) 其中, a 、 b 为常数, a > = 1 , b > 1 , f ( n ) 为函数 T(n) = aT(\frac{n}{b}) + f(n)\\ 其中,a、b为常数,a >=1,b > 1,f(n)为函数 T(n)=aT(bn)+f(n)其中,ab为常数,a>=1b>1f(n)为函数

  1. f ( n ) = O ( n l o g b a − ϵ ) f(n) = O(n^{log_{b}a-\epsilon}) f(n)=O(nlogbaϵ) ϵ > 0 \epsilon>0 ϵ>0,则 T ( n ) = Θ ( n l o g b a ) T(n) = \Theta(n^{log_ba}) T(n)=Θ(nlogba)
  2. f ( n ) = Θ ( n l o g b a ) f(n) = \Theta(n^{log_{b}a}) f(n)=Θ(nlogba),则 T ( n ) = Θ ( n l o g b a l o g n ) T(n) = \Theta(n^{log_ba}logn) T(n)=Θ(nlogbalogn)
  3. f ( n ) = Ω ( n l o g b a + ϵ ) f(n) = \Omega(n^{log_{b}a+\epsilon}) f(n)=Ω(nlogba+ϵ) ϵ > 0 \epsilon>0 ϵ>0,且对于某个常数 c < 1 c<1 c<1和所有充分大的n有 a f ( n b ) < = c f ( n ) af(\frac{n}{b})<=cf(n) af(bn)<=cf(n),则 T ( n ) = Θ ( f ( n ) ) T(n) = \Theta(f(n)) T(n)=Θ(f(n))

速记
对于基准函数 y = n l o g b a y = n^{log_ba} y=nlogba
若 f(n) < y, Θ ( n l o g b a ) \Theta(n^{log_ba}) Θ(nlogba)
若f(n) = y, Θ ( n log ⁡ b a l o g n ) \Theta(n^{ \log_ba}logn) Θ(nlogbalogn)
若f(n) > y, Θ ( f ( n ) ) , a f ( n b ) < = c f ( n ) , c < 1 \Theta(f(n)),af(\frac{n}{b})<=cf(n),c<1 Θ(f(n))af(bn)<=cf(n)c<1


http://www.kler.cn/news/324017.html

相关文章:

  • 【解决方案】Java 互联网项目中常见的 Redis 缓存应用场景
  • c语言和c++一样吗
  • Spring Boot实现房产租赁业务逻辑
  • 互联网安全为什么要做风险评估:构建数字世界的坚固防线
  • 排序算法C++
  • 经济不好,但是遍地都是赚钱的机会
  • 万元购车平台源码开发总结与关键技术解析
  • 如何应对“.DevicData-C-XXXXXXXX”勒索病毒:建议与防范措施
  • fiddler抓包12_篡改请求(请求前断点)
  • *C++:list
  • 【C语言零基础入门篇 - 17】:排序算法
  • ubuntu系统下,c++图形库Matplot++配置
  • 深度学习(3):Tensor和Optimizer
  • 求职Leetcode题目(11)
  • 如何使用C语言接入Doris数据库
  • 线性表二——栈stack
  • 微信小程序开发系列之-在微信小程序中使用云开发
  • How to install JetBrains ToolBox in Ubuntu 22.04 LTS?
  • ELK-03-skywalking监控linux系统
  • JAVA JDK华为云镜像下载,速度很快
  • AIGC入门:Comfyui整合包,解压即用!
  • Goweb---Gorm操作数据库(二)
  • project_object_model_3d
  • ES6中迭代器与生成器知识浅析
  • Python知识点:如何使用Python与.NET进行互操作(IronPython)
  • ubuntu 安装harbor
  • 解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
  • HI3520DV510 22AP80/SS522V100 芯片及开发板
  • 认识 Linux操作系统
  • 新疆交投路桥桥梁公司:向“新”求“质”,积蓄发展新势能