递归式--三种求解时间复杂度的方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、代换法
  • 二、递归树法
  • 三.主方法
  • 总结


前言

学无止境,笔勤不辍。很久没有更新算法专栏了…笔者终于找到时间来更新了。今天,笔者给大家分享一下三种求解递归式的时间复杂度的方法,希望能与大家一起学习进步!!!


简单补充一下 递归式的定义,递归式由两部分组成:1.结束条件 2.递归体
在这里插入图片描述
这个递归式的解是 T(n) = O(N *lg N)

一、代换法

先猜测有某个界存在,然后利用数学归纳法,证明猜想的正确性。
步骤:
1.猜测解的形式
2.用数学归纳法找出能让这个时间复杂度解有效的常数
下面给一个例子:

求T(n)=2T(⌊n/2⌋)+n 的时间复杂度
猜其解为T (n) = O(n lg n)
存在常数c使得T (n) ≤ cn lg n
假设⌊n/2⌋时式子成立,即 T(⌊n/2⌋)≤ c ⌊n/2⌋lg(⌊n/2⌋成立
此时,T(n)≤ 2(c ⌊n/2⌋lg(⌊n/2⌋)) + n
≤ cn lg(n/2) + n
=cn lg n - cn lg 2 + n
=cn lg n - cn + n
≤ cn lg n
当1≤ c时,最后一步成立,即证明成功
这里的lg是以2为底的
`不过这里要考虑一下边界条件,n>=2的时候是成立的,但是n=1时,是有问题的 因为 T(1)=1 but cn lg 1 = 0`

这里证明时,可能会遇到:是同一数量级,但是有低阶项多出,方法是:证明猜想时,减去一个低阶项。

二、递归树法

将递归式转换成树形结构,树中的节点代表在不同递归层次付出的代价,最后利用对和式限界的技术来解出递归式(最终求和求解)
递归树是一种得到好猜测的直接方法
通常可以容忍小量的不良量
给出例子:
求解 T (n) = 3T (⌊n/4⌋) + Θ(n2)
在这里插入图片描述
值得注意的是,该树的所有结点的和是T(n)
之后的证明运用代换法(数学归纳法)
递归树法是用来找寻一个近似的合适解的方法

三.主方法

给出递归形式T(n)=aT(n/b)+f(n)的界,其中a≥1,b>1,f(n)是给定的函数。通过定义求解递归式的可靠猜测解

设a ≥ 1 和 b > 1 是常数,设 f (n) 为一函数
T(n) = aT(n/b) + f(n)有这种形式
对非负整数,其中 n/b 指⌊n/b⌋ 或 ⌈n/b⌉。那么 T (n)
可能有如下的渐近界(近似解)

在这里插入图片描述
给出例子:

T (n) = T (2n/3) + 1
a = 1, b = 3/2, f (n) = 1
适合第二种情况,所以T(n) = Θ(lg n)

之后的证明运用代换法(数学归纳法)


总结

以上就是今天要讲的内容,本文粗略介绍了三种求递归式时间复杂度的方法,后续笔者会更改精修。今天的内容就分享到这里了,希望能给大家一些帮助,教室要关门了,笔者再不走就要被关起来了,后续笔者也会定期更新内容,坚持学习… 再重复一遍口号:学无止境,笔勤不辍!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1421110.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于FPGA音视频矩阵-2K/4K分辨率解决方案

① 单板支持4进4出含4096x2160P30 及以下任意分辨率视频 ② 单板支持HDMI 接口、VGA接口、 DVI接口、光纤接口、SDI 接口、 HDBASET接口 ③ 接口输入分辨率自适应 ④ 接口输出分辨率任意配置 ⑤ 20ms广电级别切换速度以及延迟 ⑥ 图像纯RGB处理,色彩更准确 ⑦…

StarRocks 【新一代MPP数据库】

1、StarRocks 1.1、StarRocks 简介 StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing,MPP数据库是一种基于大规模并行处理技术的数据库系统,旨在高效处理大量数据。) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏…

易图讯三维电子沙盘-大数据处理服务

易图讯科技10名高级大数据工程师,高效、快速进行POI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 免费专业提供POI、AOI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 1年更新2次POI、高清卫星影像。

微软或将发布全新AI大模型,欲与GPT-4和Gemini一较高下

科技巨头微软正积极研发一款名为MAI-1的全新大型语言模型,该模型有望与谷歌Gemini、Anthropic的Claude以及OpenAI的GPT-4等顶尖模型展开竞争。 据The Information报道,这是微软自向OpenAI投资超过100亿美元获取其AI模型使用权以来,首次自主研…

18 【Aseprite 作图】工具栏介绍

1 在没有输入法的情况下, 按住Shift 大写的N,就可以快速新建图层 ctrl z 撤回这个图层 2 双击图层,可以修改图层名称和属性 3 按住图层,拖动图层,可以把图层拉到 组,就可以方便一组一组管理图层 4 保存的…

机器学习1——线性回归、误差推导

有监督——分类、回归 一、线性回归 对于一个线性方程,没办法拟合所有的数据点,但是要尽可能的覆盖尽可能多的点。 在下面的图中,x01。添加这一项的目的是:将数据矩阵补全(比如年龄是x1、工资是x2,那么x0手…

java项目之车辆管理系统(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的车辆管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 车辆管理系统的主要使用者分…

WEB后端复习——JSP、EL、JSTL

JSP:Java Serve Pages(Java服务器页面) 运行在服务器的脚本、在静态网页HTML代码中嵌入java 优势特点 1.被编译后可以多次直接运行,代码执行效率高(一次加载、多次可用) 2.动态代码封装,组件可重用性高(JavaBean EJ…

【recast-navigation-js】通过websocket获取navmesh数据并初始化

目录 说在前面目录结构websocket服务器前端结果 说在前面 操作系统:windows 11浏览器:edge版本 124.0.2478.97recast-navigation-js版本:0.29.0golang版本:1.21.5 目录结构 D:. │ go.mod │ go.sum │ main.go // websocket …

HCIE学习笔记----OSPF详解

OSPF邻居建立的条件 OSPF建立邻居“41”条件总结 4个一致 一个不一致 1.保证接口的前缀 网络信息一致 2.保证ospf区域号和区域类型一致 3.hello包间隔时间和死亡时间一致 4.认证类型和认证认证信息一致 5.路由器的ID不一致 保证唯一性 一-----OSPF 邻接关系建立过程与状…

LeetCode题练习与总结:二叉树的中序遍历--94

一、题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:roo…

微服务思想以及实现

文章目录 前言一、什么时候需要拆分微服务1. 创业型项目2. 大型项目 二、怎么拆1. 拆分目标2. 拆分方式 三、微服务之间远程调用1. 实现方式2. 手动发送Http请求(RestTemplate)3. 服务注册中心3.1 原理3.2 Nacos注册中心3.3 服务注册3.4 服务发现(Discov…

ExcelVBA在选择区域(有合并)中删除清除空行

【问题】 关于删除空行,以前是用函数来完成工作的, 今天有人提出问题,传来这个文件, 现有数据,1w多行,其中有部分列有不同合并单元格,跨行也不一样。如果要进行筛选删除空行,有一定的…

从 Oracle 到 TiDB,国有大行打造本地生活 APP 新体验

导读 本文介绍了某国有大行推出的本地生活服务类 APP 在数字时代的创新应用实践。该 APP 利用金融科技和互联网平台模式,打造“金融非金融”的线上生态服务平台,满足了用户多样化的生活需求。为应对用户增长和数据量增加带来的挑战,该 APP 决…

C语言之指针初阶

目录 前言 一、内存与地址的关系 二、指针变量 三、野指针 四、const 五、传值调用与传址调用 总结 前言 本文主要介绍C语言指针的一些基础知识,为后面深入理解指针打下基础,因此本文内容主要包括内存与地址的关系,指针的基本语法&…

高精度原理介绍及代码实现

目录 高精度 引入 使用场景 实现原理 高精度加法 数据存储 加法实现 总代码 高精度减法 与加法的不同点: 总代码 高精度乘法 总代码 高精度除法 总结 总注意点 减法注意点 高精度 引入 所谓高精度并不是很高级难懂的东西,只是对传统的…

使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫

今天,明月给大家再次详细讲解一下,明月在使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫对站点的抓取,因为这是很多首次使用 CloudFlare 的站长们容易忽略和触犯的问题,并不是 CloudFlare 不友好,而是 CloudFlare 的防火墙(WAF)实在是太给力。其实在【CloudFlare 如…

SQLZOO:The JOIN operation

数据表:game-gaol-eteam game idmdatestadiumteam1team210018 June 2012National Stadium, WarsawPOLGRE10028 June 2012Stadion Miejski (Wroclaw)RUSCZE100312 June 2012Stadion Miejski (Wroclaw)GRECZE100412 June 2012National Stadium, WarsawPOLRUS... goal …

每日OJ题_贪心算法四④_力扣397. 整数替换

目录 力扣397. 整数替换 解析代码 力扣397. 整数替换 397. 整数替换 难度 中等 给定一个正整数 n ,你可以做如下操作: 如果 n 是偶数,则用 n / 2替换 n 。如果 n 是奇数,则可以用 n 1或n - 1替换 n 。 返回 n 变为 1 所需…

最大子矩阵:前缀和、动态规划

最近在学习动态规划,在牛客上刷题时碰到了这一题。其实最初的想法是暴力和前缀和,但是时间复杂度极高,需要套4层循环。后来去网上搜了一下相关的题解和做法,进而了解到了前缀和+线性动态规划的做法。但是在成功做出这题…