数据结构 - 算法的时间效率和空间效率

news2025/2/20 23:51:51

一、时间效率

程序在计算机上执行所消耗的时间。
两种估算方式:

  1. 事后统计
  2. 事前分析
  • 算法运行时间= 一个简单操作所需的时间X简单操作次数

  • 算法运行总时间 = Σ每条语句执行次数(即:每条语句频度)X该语句执行一次所需的时间

  • 每条语句执行一次所需的时间,是由机器本身软硬件环境决定的,与算法无关。

  • 因此,我们可以假设每条语句所需时间均为单位时间,因此对算法的运行时间的讨论,可以转化为讨论该算法中所有语句的执行次数,即频度之和(T(n))。

  • 为了便于比较不同算法的时间效率,我们仅比较它们的数量级。即为:时间复杂度(全称:渐进时间复杂度)

  • 例如:T1(n)=10n²,T2(n)=5n³。则T1(n)=O(n²),T2(n)=O(n³)

  • T(n)=O(f(n))。算法中基本语句重复执行的次数是问题规模n的某个函数f(n)。【基本语句即为算法中执行次数最多的语句,一般都是循环中嵌套最深的语句。 】

  • 时间复杂度T(n)按数量级递增顺序为:

  • 在这里插入图片描述

  • 在这里插入图片描述

二、空间效率

涉及空间时间复杂度S(n)=O(n)。
可参考:算法空间复杂度分析

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

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

相关文章

【SpringCloud】Hystrix使用

文章目录 Hystrix重要概念使用POM启动类YML示例Global fallback 服务降级,客户端去调用服务端,碰上服务端宕机或关闭服务熔断HystrixCommand中commandProperties参数 Hystrix执行流程服务监控hystrixDashboardPOM Hystrix重要概念 https://github.com/N…

Golang Gorm 更新字段 save update updates

更新和删除操作的前提条件都是要在找到数据的情况下,先要查询到数据才可以做操作。 更新的前提的先查询到记录,Save保存所有字段,用于单个记录的全字段更新它会保控所有字段,即使零值也会保存。 在更新和删除之前,要利…

Python学习笔记_进阶篇(二)_django知识(一)

本章简介: Django 简介Django 基本配置Django urlDjango viewDjango 模板语言Django Form Django 简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来…

不知道开黑语音哪个软件好?

黑盒语音官方网站:https://chat.top 免费支持AI降噪免费支持高品质立体声免费支持码率128Kbps,192Kbps免费支持上传100M文件免费支持动态房间头像和横幅支持更多自定义动态表情即将支持更多免费功能

Lua 语言笔记(一)

1. 变量命名规范 弱类型语言(动态类型语言),定义变量的时候,不需要类型修饰 而且,变量类型可以随时改变每行代码结束的时候,要不要分号都可以变量名 由数字,字母下划线组成,不能以数字开头,也不…

CSS:filter滤镜 详解(用法 + 代码 + 例子 + 效果)

文章目录 filter 滤镜blur() 模糊度例子 渐变光晕 brightness() 元素亮度contrast() 对比度grayscale() 元素灰度hue-rorate() 色相opacity() 透明度invert() 反转颜色saturate() 饱和度 backdrop-filter 蒙版,滤镜例子 卷轴展开 filter 滤镜 动图为效果添加前后对…

计算复杂度基础

1. 抽象问题 抽象问题包括决策问题和优化问题 注意:描述中,I的缩写是Instance,S的缩写是Solution。 2. 决策问题 3. 优化问题 将一个优化问题转换为决策问题后,不会变的更难。 \color {green}将一个优化问题转换为决策问题后&…

实验篇——多序列比对,构树

实验篇——多序列比对,构树 文章目录 前言一、名词解释二、实操1. 文件准备2. 多序列比对3. 对比对序列修剪4. 构建进化树5. 可视化进化树 总结 前言 系统发育树构建的软件大致有如下几种策略:从最简单的UPGMA法,到邻接法,最大简…

一文学会配置Fanuc控制柜端ROS2驱动

文章目录 前言一、RobotGuide是什么?二、实现步骤创建机器人工作单元导入程序TP程序Karel程序 构建程序配置控制柜配置机器人控制柜通讯配置可同时运行程序数量配置ROS_RELAY变量配置ROS_STATE变量设置启用标志 三、测试机器人状态反馈机器人命令接收整体运行测试 总…

新晋游资:华东大导弹音频读后感

昨天晚上听了新晋游资 华东大导弹的一个音频,感受还是颇多的,首先他是一个很谦虚,很善良的人,同样的评价我会给92科比老师。其实,他说的都是很实在的话,没有半点虚言,很想帮助大家利用超短线走出…

C++初阶语法——static类成员

前言:本文将介绍类和对象中的static类成员——静态成员函数,静态成员变量的使用方法和注意点。在某些场景下,静态成员很有意义。 目录 一.概念二.特性静态成员不存在对象中 三.静态成员变量在类外初始化四.静态成员函数 一.概念 声明为stati…

RDMA qp数量和RDMA性能

QP数量上升性能下降 ​​​​​​https://icnp21.cs.ucr.edu/papers/icnp21camera-paper30.pdf 在现代云数据中心中,大规模分布式应用通常构建在许多机器上,需要使用大量并发连接进行频繁的网络通信[4]–[6]。但是,RDMA的性能会随着连接数的…

SpringBoot第42讲:SpringBoot集成Redis - 基于RedisTemplate+Lettuce数据操作

SpringBoot第42讲:SpringBoot集成Redis - 基于RedisTemplateLettuce数据操作 在SpringBoot 2.x版本中Redis默认客户端是Lettuce,本文是SpringBoot第42讲,主要介绍SpringBoot 和默认的 Lettuce 的整合案例。 文章目录 SpringBoot第42讲&#x…

通过案例学习pandas计算相关系数

pandas计算相关系数 在数据分析和统计学中,相关系数是一种用于衡量两个变量之间关系强度的统计指标。它可以帮助我们了解两个变量之间的线性关系强度和方向。 Pandas是一个强大的Python库,提供了许多用于数据分析和处理的功能。在本文中,我…

「新整理」战略定位理论发展史

1954年,彼得德鲁克——现代管理学之父 代表作《管理的实践》 提出具有划时代意义的概念——目标管理,将管理划分为战略管理、组织管理和自我管理。将生产力从生产部门扩大到组织的所有职能部门,以知识精英为代表的职业经理人开始代替资本家走…

基于ssm的CRM客户管理系统(spring + springMVC + mybatis)营销业务信息java jsp源代码

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于ssm的CRM客户管理系统(spring spring…

java-JVM 类加载机制

JVM 类加载机制 JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 1.1. 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这…

浏览器控制台调试实用方法

许多程序员仅知道控制台的console.log,其实控制台API还包含一些其他实用方法, 这些方法在前端调试时会很有帮助。 目录 console.dir 查看对象属性和方法 输出DOM元素 console.error console.time和console.timeEnd console.log console.clear 总结…

13---内嵌HTML和React

虽然Markdown本身不支持内嵌HTML和React&#xff0c;但可以在Markdown文档中直接插入HTML代码和React组件。 一、在markdown中内嵌HTML 在Markdown中&#xff0c;你可以使用HTML标签来实现更复杂的样式和布局。例如&#xff0c;你可以使用<div>标签来创建一个容器&#…

【Axure模板】APP帮助中心原型,在线客服意见反馈模块高保真原型

作品概况 页面数量&#xff1a;共 10 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;原型设计模板 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 该模板作品为APP帮助与客服的通用模块&#xff0c;…