时间复杂度、空间复杂度

一、时间复杂度

1、概念

时间复杂度:计算的是当一个问题量级增加的时间,时间增长的趋势;
O(大O表示法):渐进的时间复杂度

2、举例

① 以下 for 循环的时间复杂度:O(1 + 3n) = O(n)  

去掉常数,保留最高次项去掉系数为常数的树 

② 以下 for 循环的时间复杂度:O( n + n²) = O(n²)  

保留最高次项 

② 以下代码的时间复杂度:O(1) 

常数的时间复杂度为 1 

③ 以下代码的时间复杂度:O(logN) 

转化为:2^i = n ,那么 logn = i, 所以当前的时间复杂度为 O(logN) 

④ 以下代码的时间复杂度:O(nlogN) 

⑤ 以下代码的时间复杂度:O(n²) 

⑥ 以下代码的时间复杂度:O(nm) 

⑦ 大题

3、常见的时间复杂度量级

排序:

4、其他复杂度指标

二、空间复杂度

1、概念

计算的是内存空间增长的趋势

2、举例

① 以下代码的空间复杂度:O(1) 

x 和 y 都是一个常数量,不会影响内存空间的分配; 

② 以下代码的空间复杂度:O(n) 

这个空间复杂度取决于 newArray 这个数组的长度; 

③ 以下代码的空间复杂度:O(n²) 

常见的是矩阵

3、常见的空间复杂度

三、总结

【时间空间复杂度】 = 【时间和空间增长的趋势】 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构上机练习——单链表的基本操作、头文件、类定义、main函数、多种链表算法的实现,含注释

文章目录 单链表的基本操作实现1.头文件2.类定义和多种算法的实现2.1创建空表2.2头插法创建n个元素的线性链表2.3一个带头节点的链表存放一组整数,设计一个算法删除值等于x的所有节点。2.4计算线性表中值为偶数的节点个数2.5一个带头节点的单链表heada存放一组整数&…

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件:利用docker安装好nginx、tomcat、jdk8(tomcat运行需要jdk环境) 只演示docker安装tomcat: 默认拉取最新版tomcat docker pull t…

Qt地铁智慧换乘系统浅学( 三 )最少路径和最少换乘实现

本算法全都基于广度优先 概念最短路径实现所用容器算法思路 最少换乘实现所需容器算法思路 成果展示代码实现判断是最短路径还是最少换乘最短路径代码实现最少换乘代码实现根据所得List画出线路 ui界面的维护(前提条件)界面初始化combox控件建立槽函数 概…

84、Redis客户端-->可视化图形界面工具(Another Redis Desktop Manager)的下载、安装及初步使用

Redis客户端–>可视化图形界面工具(Another Redis Desktop Manager)的下载、安装及初步使用 ★ Redis客户端: ▲ Redis自带的命令行工具(简陋): CLI工具,重新打开一个命令行窗口,在其中输入如下命令&…

人工智能轨道交通行业周刊-第61期(2023.9.18-9.24)

本期关键词:焊线机器人、智能综合运维管理系统、信号平面图、铁路部门架构、书生浦语大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通…

uniapp、vue实现滑动拼图验证码

uniapp、vue实现滑动拼图验证码 实际开发工作中,在登陆的时候需要短信验证码,但容易引起爬虫行为,需要用到反爬虫验证码,今天介绍一下拼图验证码,解决验证码反爬虫中的滑动验证码反爬虫。滑动拼图验证码是在滑块验证码…

Android应用线上闪退问题解决

解决Android应用线上闪退问题需要仔细的监控、调试和分析。以下是一些解决Android线上闪退问题的工具和方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 工具: 1.Google Play 控制台&…

Mysql安装

一、Mysql官网下载安装 MySQL :: Download MySQL Community Server下载 二、安装 下载后打开文件进行安装: 选择custom自定义 选择后带点击Execute 接着下一步 设置密码,下一步 全好后点击finish 之后继续下一步,finish

React核心概念

JSX 基础语法 在 React 中,使用 JSX 来描述页面。 使用 JSX 来描述页面时,有如下的一些语法规则: 根元素只能有一个JSX 中使用 JavaScript 表达式。表达式在花括号{}内属性值指定为字符串字面量,或者在属性值插入一个 JavaScri…

怎样防止员工泄露技术?(十条避免公司泄密的措施)

在当今信息化社会,公司信息的安全性和保密性显得尤为重要。一旦公司信息泄露,不仅会对公司的经营造成严重影响,还可能引发法律纠纷。因此,采取有效的措施来防止公司信息泄露是非常必要的。以下是一些具体的措施: 部署洞…

数据结构之【泛型】

泛型:定义阶段不明确具体类型,产生对象时明确具体类型。 //Object是Java中的最高参数统一化,能够接受所有的引用类型; //有了包装类的自动拆装箱之后,Object还能够接收基本类型数值(自动装箱) …

入门级制作电子期刊的网站推荐

随着数字化时代的到来,越来越多的人开始尝试制作自己的电子期刊。如果你也是其中的一员,那么这篇文章可以帮助你制作电子期刊。无论是初学者还是有一定经验的制作者,都能快速完成高质量的电子期刊制作 小编经常使用的工具是-----FLBOOK在线制…

for...in 和 for...of 的区别

for...in 和 for...of 都是 JavaScript 中的循环语句,但它们的作用和使用方式略有不同。 1、for..in 循环 for..in 循环用于遍历对象的可枚举属性,它会将对象的每个属性名称(或键名)作为迭代变量来遍历。 以下是 for...in 的基本语法 for (variable …

2023-09-23力扣每日一题

链接: 1993. 树上的操作 题意 **Lock:**指定用户给指定节点 上锁 ,上锁后其他用户将无法给同一节点上锁。只有当节点处于未上锁的状态下,才能进行上锁操作。**Unlock:**指定用户给指定节点 解锁 ,只有当…

修改vscode底部栏背景和字体颜色

修改vscode底部栏背景和字体颜色 如图: 首先打开齿轮,打开设置搜索workbench.colorCustomizations,然后点击编辑setting.json修改setting.json内内容 "workbench.colorCustomizations": {"statusBar.foreground": "#FFFFFF…

ORA-01950

1. ORA-01950 问题描述:oracle 使用 imp 导入 dmp 文件 报错, ORA-01950: no privileges on tablespace ‘TEST’。 原因:此错误通常为权限问题,此次我的问题是相关用户对当前表空间的配额不足。 解决方案:设置配额…

【C++】C++的类型转换

C的类型转换 一、C语言中的类型转换二、C的类型转换1、static_cast2、reinterpret_cast3、const_cast4、dynamic_cast 三、RTTI 一、C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与…

dedecms tag 伪静态 数字版本

织梦伪静态将tag标签的url设置成id的方法: 1、在网站根目录下的tags.php中18行找到: if(isset($tags[2])) $PageNo intval($tags[2]);在其下方加入代码: $tagid intval($tag); if(!empty($tagid)) {$row $dsql->GetOne("SELECT …

【Vue】VUE常用的几种import引入方式

VUE常用的几种import引入方式 1、什么是组件 都说Vue是组件化开发,确实有道理,别说按钮输入框这种组件了,就连每个页面,从本质来看也是一个个组件,所以目标很明确,拿来就能用,有一定使用规范和…

【力扣每日一题】2023.9.23 树上的操作

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 这是一道程序设计类的题目,题目比较长,我稍微概括一下。 构造函数中给我们一个数组,第i个元素表示第…