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

数据结构----效率问题

数据结构----效率问题

一.衡量效率

1.衡量效率的两个维度

1.时间维度:时间复杂度:Time Complexity

时间复杂度是代码总的运行次数(粗糙)

2.空间维度:空间复杂度:Space Complexity

空间复杂度是额外申请的空间

3.注意:

​ 1.复杂度表示方法为 O()

  1. 如果时间和空间不能同时达到一个理想状态,时间优先,用空间换时间 。一些特殊的应用场合会用空间换时间

  2. 一般算循环的时间复杂度,看循环体执行几次就可以

    也可以看代码总执行次数是看总共执行了多少条语句

2.复杂度要求

1.多项级的运算结果,只保留最大项(最高次幂)

2.常系数省舍去

3.如果程序在有限棵树的资源消耗内即可完成(与n无关),那么复杂度为O(1)

3.看下面代码判断时间复杂度

//时间复杂度为 O(n)
for(int i=0;i<n;i++){cout<<i<<endl;
}//时间复杂度为 O(log2的n次方)
for(int i=1;i<=n;i*=2){cout<<i<<endl;
}//时间复杂度为 O(n的平方)
for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){cout<<i<<"  "<<j<<endl;}
}//时间复杂度为 O(n的立方)
for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){for(int k=1;k<=j;k++){cout<<i<<"  "<<j<<endl;}}
}

6.关于复杂度计算的一些经验性结论

1.单纯的顺序和选择结构,时间复杂度为O(1)

2.一般的一层循环时间复杂度为O(n)

3.两个并列的循环,时间复杂度max(O(m),O(n))

4.一般的两层循环嵌套,时间复杂度是O(n的平方)

5.一般会选择递归、分治、动态规划等方法提升时间效率(空间换时间)

相关文章:

数据结构----效率问题

数据结构----效率问题 一.衡量效率 1.衡量效率的两个维度 1.时间维度&#xff1a;时间复杂度&#xff1a;Time Complexity 时间复杂度是代码总的运行次数&#xff08;粗糙&#xff09; 2.空间维度&#xff1a;空间复杂度&#xff1a;Space Complexity 空间复杂度是额外申…...

【BASH】回顾与知识点梳理(五)

【BASH】回顾与知识点梳理 五 五. 数据流重导向5.1 什么是数据流重导向standard output 与 standard error output/dev/null 垃圾桶黑洞装置与特殊写法standard input &#xff1a; < 与 << 5.2 命令执行的判断依据&#xff1a; ; , &&, ||cmd ; cmd (不考虑指…...

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二)

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二) 一、算法简介二、实现代码三、效果展示一、算法简介 对于空间中的这样一组点:大致呈直线分布,散乱分布在直线左右, 我们可采用最小二乘方法拟合直线,更进一步地,可以通过点到直线的投影,最终得到一组严格呈直线分布…...

大数据课程G1——Hbase的概述

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解HIve的概念&#xff1b; ⚪ 了解HIve与数据库的区别&#xff1b; ⚪ 了解HIve的特点&#xff1b; 一、简介 1. 概述 1. HBase原本是由Yahoo!公司开发后来贡献给了…...

第三章 图论 No.2单源最短路之虚拟源点,状压最短路与最短路次短路条数

文章目录 1137. 选择最佳线路1131. 拯救大兵瑞恩1134. 最短路计数383. 观光 dp是特殊的最短路&#xff0c;是无环图&#xff08;拓扑图&#xff09;上的最短路问题 1137. 选择最佳线路 1137. 选择最佳线路 - AcWing题库 // 反向建图就行 #include <iostream> #include…...

汉诺塔问题

一本通1205&#xff1a;汉诺塔问题 【题目描述】 约19世纪末&#xff0c;在欧州的商店中出售一种智力玩具&#xff0c;在一块铜板上有三根杆&#xff0c;最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上&#xff0c;条件…...

Java on Azure Tooling 6月更新|标准消费和专用计划及本地存储账户(Azurite)支持

作者&#xff1a;Jialuo Gan - Program Manager, Developer Division at Microsoft 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎阅读 Java on Azure 工具的六月更新。在本次更新中&#xff0c;我们将介绍 Azure Spring Apps 标准消费和专用计划支持以及本地存储账户&…...

Prometheus(八)-网络嗅探-黑盒监控

介绍 Blackbox Exporter是Prometheus社区提供的官方黑盒监控解决方案&#xff0c;其允许用户通过&#xff1a;HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。用户可以直接使用go get命令获取Blackbox Exporter源码并生成本地可执行文件&#xff1a; go get prometheus…...

modbus TCP 通信测试

modbus TCP 通信测试 读取单个或多个线圈 发送指令&#xff1a;00 00 00 00 00 06 00 01 03 10 00 08 00 00 00 00 00 06 00 01 03 10 00 08 事务 处理 标识 协议 标识 长度 单元 标识 功能码 起始 线圈 地址 线圈 个数 06&#xff1a;后面的字节长度。 01&am…...

GDB Debug

使用gdb带着参数启动程序 在gdb中启动程序并传递命令行参数&#xff1a; gdb ./my_program (gdb) run arg1 arg2 arg3 这将在gdb中启动程序"my_program"&#xff0c;并将参数"arg1"、"arg2"和"arg3"传递给程序。 在启动gdb之前&…...

【项目流程】前端项目的开发流程

1. 项目中涉及的所有角色及其职责 - PM 产品经理 产品经理&#xff08;Product Manager&#xff0c;简称PM&#xff09;负责明确和定义产品的愿景和战略&#xff0c;与客户、用户、业务部门和其他利益相关者进行沟通&#xff0c;收集并分析他们的需求和期望。负责制定产品的详…...

JS监听浏览器关闭、刷新及切换标签页触发事件

蛮简单的东西&#xff0c;知道就会&#xff0c;不知道就不会&#xff0c;没什么逻辑可言。简单记录一下&#xff0c;只为加深点儿印象。 visibilitychange visibilitychange可以监听到浏览器的切换标签页。 直接上代码&#xff1a; <script>document.addEventListe…...

Unity 引擎做残影效果——3、顶点偏移方式

Unity实现残影效果 大家好&#xff0c;我是阿赵。 继续讲Unity引擎的残影做法。这次的残影效果和之前两种不太一样&#xff0c;是通过顶点偏移来实现的。 具体的效果是这样&#xff1a; 与其说是残影&#xff0c;这种效果更像是移动速度很快时造成的速度线&#xff0c;所以在移…...

【Linux】权限

1、shell命令以及运行原理 Linux 严格意义上说的是一个操作系统&#xff0c;我们称之为“核心&#xff08;kernel&#xff09;“ &#xff0c;但我们一般用户&#xff0c;不能直接使用 kernel。而是通过 kernel 的“外壳”程序&#xff0c;也就是所谓的shell&#xff0c;来与 k…...

Excel导入日期格式时自动转为五位数文本

问题描述&#xff1a;Excel导入数据时&#xff0c;当数据是日期可能会存在问题&#xff0c;日期格式转为文本了&#xff0c;例如“2023-07-31”接收时变为“45138”&#xff0c;导致后端解析日期出错&#xff0c;无法导入。 解决方法&#xff1a; 方法一&#xff1a;将Excel日…...

Mac使用brew安装软件报错

在使用brew安装软件时报错Failed to upgrade Homebrew Portable Ruby! brew install --cask --appdir/Applications docker> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:0cb1cc7af109437fe0e020c9f3b7b95c3c709b140bde9f991ad2c143…...

Android 实现MQTT客户端,用于门禁消息推送

添加MQTT依赖 implementation ‘org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.2’ implementation ‘org.eclipse.paho:org.eclipse.paho.android.service:1.1.1’ 在Manifest清单文件中添加服务 <service android:name"org.eclipse.paho.android.service.Mq…...

跨境电商的广告推广怎么做?7个方法

在跨境电商竞争日趋激烈的市场环境下&#xff0c;跨境电商店铺引流成了制胜关键点。这里给大家分享一套引流推广的方法。 一、搜索引擎营销推广 搜索引擎有两个最大的优点是更灵活、更准确。搜索引擎营销的目标定位更精确&#xff0c;且不受时间和地理位置上的限制&#xff0…...

《Java-SE-第二十八章》之CAS

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水平很有限&…...

git之reflog分析

写在前面 本文一起看下reflog命令。 1&#xff1a;场景描述 在开发的过程中&#xff0c;因为修改错误&#xff0c;想要通过git reset命令恢复到之前的某个版本&#xff0c;但是选择提交ID错误&#xff0c;导致多恢复了一个版本&#xff0c;假定&#xff0c;该版本对应的内容…...

嵌入式常见的面试题1

在嵌入式 Linux 应用层&#xff0c;使用 TCP socket 发送数据时&#xff0c;write()/send() 返回成功是否意味着数据已送达对端&#xff1f;如何确保对端应用层确实收到了数据&#xff1f;考察点&#xff1a;TCP 协议栈缓冲区机制、可靠传输的误解、应用层确认协议。参考答案&a…...

Phi-3-vision-128k-instruct实战:构建基于卷积神经网络的图像增强预处理流水线

Phi-3-vision-128k-instruct实战&#xff1a;构建基于卷积神经网络的图像增强预处理流水线 1. 引言&#xff1a;当AI视觉遇上图像质量问题 你有没有遇到过这样的情况&#xff1f;好不容易拍了一张照片&#xff0c;结果因为光线不足、镜头抖动或者设备限制&#xff0c;图像质量…...

Omni-Vision Sanctuary 模型微调教程:使用自有数据定制专属 AI

Omni-Vision Sanctuary 模型微调教程&#xff1a;使用自有数据定制专属 AI 1. 前言&#xff1a;为什么需要微调&#xff1f; 当你拿到一个强大的视觉模型如Omni-Vision Sanctuary时&#xff0c;它已经具备识别各种常见物体的能力。但如果你想让它在你的专业领域表现更好——比…...

DuckDB 1.4.3 LTS:轻量级分析型数据库的新选择

DuckDB 1.4.3 LTS&#xff1a;轻量级分析型数据库的新选择 在数据管理与分析的领域中&#xff0c;开源软件始终扮演着至关重要的角色&#xff0c;为开发者、数据分析师等提供了丰富多样的工具。DuckDB 1.4.3 LTS 作为一款开源软件&#xff0c;正逐渐在特定场景下崭露头角&#…...

8、如何提高webpack的构建速度?

目录 一、先说本质&#xff1a;Webpack 为什么会慢&#xff1f; 二、面试开场高分回答 三、常见优化手段 1. 缩小 Loader 的作用范围 做法 为什么有效 面试亮点说法 2. 使用缓存 方案一&#xff1a;Webpack 5 持久化缓存 为什么有效 面试亮点 方案二&#xff1a;Ba…...

YOLOv8配置文件default.yaml:从入门到精通的实战调优指南

1. YOLOv8配置文件default.yaml的核心作用 第一次打开YOLOv8的default.yaml配置文件时&#xff0c;我对着密密麻麻的参数列表发呆了半小时。这个看似普通的文本文件&#xff0c;实际上是控制整个目标检测模型训练过程的"中枢神经系统"。它就像汽车的中控台——方向盘…...

春联生成模型在软件测试中的应用:自动化生成测试文本数据

春联生成模型在软件测试中的应用&#xff1a;自动化生成测试文本数据 最近和几个做软件测试的朋友聊天&#xff0c;他们都在为一个问题头疼&#xff1a;测试中文相关的软件时&#xff0c;怎么才能搞到足够多、足够“怪”的文本数据&#xff1f;比如测试输入法会不会因为某些生…...

通过EVE-NG模拟器快速搭建山石防火墙Web管理环境

1. 为什么选择EVE-NG搭建山石防火墙实验环境 对于网络工程师和安全运维人员来说&#xff0c;经常需要在实验环境中测试防火墙配置。传统方式需要购买物理设备&#xff0c;不仅成本高&#xff0c;而且部署周期长。EVE-NG模拟器的出现完美解决了这个问题&#xff0c;它就像是一个…...

黑客入门3个月实战计划(附每日任务),新手照做就能从0到1

前言 新手学黑客&#xff0c;没有计划很容易“三天打鱼两天晒网”。本文给你制定一份3个月实战计划&#xff0c;分阶段拆解每日任务&#xff0c;从零基础到能独立做基础渗透测试&#xff0c;每天1-2小时&#xff0c;照做就能完成目标。全程合规&#xff0c;只在靶场练习。 一、…...

Qwen2.5-7B-Instruct完整指南:从部署到应用,一站式解决方案

Qwen2.5-7B-Instruct完整指南&#xff1a;从部署到应用&#xff0c;一站式解决方案 1. 引言&#xff1a;为什么你需要关注Qwen2.5-7B-Instruct&#xff1f; 如果你正在寻找一个既强大又能在本地安全运行的AI对话助手&#xff0c;那么Qwen2.5-7B-Instruct绝对值得你花时间了解…...