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

时间复杂度计算 递归(solve2 后续)

原帖
最近校内比较忙,更新缓慢,致歉。
在这里插入图片描述
这里函数每次都需要遍历 h h h m m m 之间的数(复杂度 O ( n ) O(n) O(n)),所以和 solve1 略有不同。仍然假设 T ⁡ ( n ) \operatorname{T}(n) T(n) 表示 m − h + 1 = n m-h+1=n mh+1=n 时的复杂度。
T ⁡ ( n ) = 2 × T ⁡ ( n / 2 ) + n = 2 × ( 2 × T ⁡ ( n / 4 ) + n / 2 ) + n = 4 × T ⁡ ( n / 4 ) + 2 n \operatorname{T}(n)=2\times\operatorname{T}(n/2)+n=2\times(2\times\operatorname{T}(n/4)+n/2)+n=4\times\operatorname{T}(n/4)+2n T(n)=2×T(n/2)+n=2×(2×T(n/4)+n/2)+n=4×T(n/4)+2n
总结一下规律,就是: T ⁡ ( n ) = 2 k × T ⁡ ( n / 2 k ) + k n \operatorname{T}(n)=2^k\times\operatorname{T}(n/2^k)+kn T(n)=2k×T(n/2k)+kn,这里 k = l o g 2 n k=log_2n k=log2n。(假设 k k k 是下取整的,造成的误差在计算时间复杂度时可忽略不计)。
T ⁡ ( n ) = 2 k + n k = n + n k \operatorname{T}(n)=2^{k}+nk=n+nk T(n)=2k+nk=n+nk,相当于 O ( n l o g n ) O(nlogn) O(nlogn) 的复杂度。

http://www.lryc.cn/news/440201.html

相关文章:

  • Nginx:高性能Web服务器与反向代理的深度剖析
  • JavaSE - 面向对象编程03
  • 变电站缺陷数据集8307张,带xml标注和txt标注,可以直接用于yolo训练
  • Redis的存储原理和数据模型
  • Linux 文件与目录操作命令详解
  • MySQL篇(窗口函数/公用表达式(CTE))
  • 408算法题leetcode--第七天
  • 政务安全体系构建中的挑战
  • 基于EchoMimic加速版,可编辑标志点控制实现逼真音频驱动的肖像动画
  • 【STM32 HAL库】IIC通信与CubeMX配置
  • iPhone 上丢失了重要的联系人?如何恢复已删除的 iPhone 联系人
  • 【有啥问啥】弱监督学习新突破:格灵深瞳多标签聚类辨别(Multi-Label Clustering and Discrimination, MLCD)方法
  • [强化你的LangChain工具创建技能:从基础到进阶]
  • 4.提升客户服务体验:ChatGPT在客服中的应用(4/10)
  • Gradio导入AIGC大模型创建web端智能体聊天机器人,python(2)
  • PEM 格式
  • Android前台服务如何在后台启动activity?
  • c#visionpro开发 方法统计
  • dedecms——四种webshell姿势
  • GO GIN 推荐的库
  • YOLOv9改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作
  • 如何在Linux下升级R版本和RStudio
  • npm安装时候报错certificate has expired
  • CSP-J_S第一轮复习资料1·计算机硬件
  • oracle 表的外键
  • 加密与安全_优雅存储二要素(AES-256-GCM )
  • 【C++高阶】解锁C++的深层魅力——探索特殊类的奥秘
  • Vue学习记录之三(ref全家桶)
  • 第二十六篇——九地篇:九种形势的应对之道
  • 学习记录:js算法(三十七): 搜索二维矩阵