算法时间空间复杂度

news2025/1/28 1:13:38

文章目录

  • 算法
    • 算法特性
  • 时间复杂度
    • 时间复杂度概念
    • 算法运行时间
    • 例如
    • 时间复杂度分三种
  • 空间复杂度

算法

算法特性

1.有穷性:执行有穷步(有限步)之后结束。

2.确定性:只有唯一的执行路径。

3.可行性:代码可以执行起来。

4、输入:零个或多个输入。

5.输出:一个或多个输出。

时间效率和空间效率有时候是有矛盾的

时间复杂度

时间复杂度概念

概念: 若有某个辅助函数 f ( n ) \color{pink}{f(n)} f(n) 使得当n趋近于无穷大时。 T ( n ) / f ( n ) \color{pink}{T(n)/f(n)} T(n)/f(n)的极值为不等于0的常数,则称 f n 是 T ( n ) \color{pink}{fn是T(n)} fnT(n)的同数量级函数。记作 T ( n ) = O ( f ( n ) ) \color{pink}{T(n)=O(f(n))} T(n)=O(f(n)) O ( f ( n ) ) \color{pink}{O(f(n))} O(f(n))为算法的渐进时间复杂度(O是数量级的符号)

  时间复杂度是由嵌套最深层语句的频度决定的。

算法运行时间

算法运行时间=(每条语句频度 * 该语句执行一次所需的时间)的求和。

例如

i=1;
while(i<=n)
	i=i*2;

解释:

执行循环次数
1i=1*2=21
2i=2*2=22
3i=2*2 *2=23
xi=2x
i<=n
则
2^x<=n
则
x<=log2(n)

时间复杂度分三种

(1):最坏时间复杂度

(2):平均时间复杂度

(3):最好时间复杂度

以上三种复杂度,通常考虑最坏时间复杂度

空间复杂度

   顾名思义: \color{pink}{顾名思义:} 顾名思义:算法所需存储空间的度量。 S ( n ) = O ( f ( n ) ) \color{pink}{S(n)=O(f(n))} S(n)=O(f(n))

在这里插入图片描述

学的不是技术,更是梦想!!!

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

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

相关文章

2023年数维杯ABC选题人数公布

根据各个平台开赛后28小时各项数据统计&#xff0c;进行评估&#xff08;方法见注释&#xff09;&#xff0c;最终得出2023年数维杯选题人数&#xff0c;大致为 A:B:C260&#xff1a;281&#xff1a;40 题号选题人数A260B281C40 选题人数统计结果分析&#xff1a;AB为研究生本…

vue3开启大海贼时代!!!

大海贼时代结束&#xff01;&#xff01;&#xff01; vue3开始&#xff01;&#xff01;&#xff01; setup初体验 1.与vue2不同的是 定义的变量和方法都被放到一个叫 setup( )里面了 2.vue2里面没有了 this 3. 1&#xff09;访问变量先定义 const msg 1 2&#xff0…

[架构之路-196] - 发现问题原因的通常步骤:提出问题、明确问题、偏差分析、因素分析、原因分析

目录 前言&#xff1a; 通用问题的方法论 第一步&#xff1a;是提出问题阶段&#xff1a;表象、总体、大致 第二步&#xff1a;是明确问题阶段&#xff08;深层&#xff09;&#xff1a;分解、分类、排序 第三步&#xff1a;是明确问题阶段&#xff08;目标&#xff09;&a…

关于一个C++项目:高并发内存池的开发过程(一)

原项目地址&#xff1a;高并发内存池项目: 高并发内存池项目的课堂板书代码 (gitee.com) 写在前面 本打算利用五一假期的时间将这个项目一口气开发完成&#xff0c;但由于本人的懈怠&#xff0c;这个项目最终只完成了80%。于是利用长假后的一天假期&#xff0c;将这个项目的框…

springboot整合security,mybatisPlus,thymeleaf实现登录认证及用户,菜单,角色权限管理

介绍 本系统为springboot整合security&#xff0c;mybatisPlus&#xff0c;thymeleaf实现登录认证及用户&#xff0c;菜单&#xff0c;角色权限管理。页面为极简模式&#xff0c;没有任何渲染。 源码&#xff1a;https://gitee.com/qfp17393120407/spring-boot_thymeleaf 开发…

算法训练Day59:503.下一个更大元素II 42. 接雨水

文章目录 [下一个更大元素 II](https://leetcode.cn/problems/next-greater-element-ii/description/)题解 接雨水题解 下一个更大元素 II CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium (66.68%)8060--0 Tags 堆 | 数组 | 单调栈 Compani…

企业信息化战略与实战(三)-企业信息化与电子商务概念

上面我们了解了政府信息化与企业信息化的部分概念,今天继续了解企业信息化的相关概念和电子商务相关概念。 1、决策支持系统(DSS) 了解基本理念和组成部分即可. 决策支持系统的作用一般是供决策,做辅助用途的系统,当你做一个决策的时候,你可以需要给你的决策做支持。比如…

05- redis集群模式搭建(上) (包含云服务器[填坑])

目录 1. 准备环境: 2. 简介: -> 2.1 前言: -> 2.2 Redis集群架构实现了对redis的水平扩容 -> 2.3 redis cluster集群原理 3. 搭建后特别需要注意的问题 ->3.1 [重点]: 如果一个服务出现故障: 是否可以继续提供服务??? ---> 3.1.1 如果集群中故障re…

PCIe的capability扩展空间字段解释

解释 这是一段关于高级错误报告的信息&#xff0c;其中包含多个字段和值。以下是每个字段的详细解释&#xff1a; Capabilities: [100 v1] Advanced Error Reporting 这是该设备支持高级错误报告的能力标识符。 UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- R…

python的文件操作模块shutil和pathlib总结

一&#xff1a;shutil模块 1&#xff0c;shutil模块安装 pip insatll shutilwhich 2&#xff0c;shutil支持的方法 可以通过dir(shutil)查看shutil支持的方法和属性 [Error, ExecError, ReadError, RegistryError, SameFileError, SpecialFileError, _ARCHIVE_FORMATS, _BZ2_…

当列车穿过时空隧道:解密力扣“计算列车到站时间”

本篇博客会讲解力扣“2651. 计算列车到站时间”的解题思路&#xff0c;这是题目链接。 先来审题&#xff1a; 以下是输出示例&#xff1a; 以下是提示&#xff1a; 这道题是给大家树立信心的。计算方法&#xff1a;(预期时间延误时间)%24即可。 int findDelayedArrivalTim…

奇技淫巧第8期

学无止境。 下面是对去年11月至今年5月的零散知识点总结。 春节期间好好放松了一两个月&#xff0c;来校后又懒散的度过了一两个月&#xff0c;直到论文评审意见下来&#xff0c;才开启冲刺模式狂干了一两个月。总的来说&#xff0c;这半年来摸的时间比较多。好&#xff0c;不废…

想学好Python的话,这6本书带你从入门到精通

推荐几本在豆瓣评分很不错的Python学习书籍&#xff0c;这些书的电子版被我搜集整理了出来&#xff0c;今天分享给大家。 书籍包括《Python编程&#xff1a;从入门到实践》、《Python编程快速上手》、《流畅的Python》、《像计算机科学家一样思考Python》、《利用Python进行数…

树状数组C++详解

树状数组介绍 在学习一个算法之前一定要清楚它能干嘛&#xff0c;能解决什么样的问题&#xff0c;对你解题是否有帮助&#xff0c;然后才去学习它! 那么接下来看如下几个问题 什么是树状数组 顾名思义就是一个结构为树形结构的数组&#xff0c;于二叉树的结构类似但又不同&…

基于SpringBoot+Vue的养老院系统

【辰兮要努力】&#xff1a;hello你好我是辰兮&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行&#xff01; 博客来源于项目以及编程中遇到的问题总结&#xff0c;偶尔会有读书分享&#xff0c;我会陆续更新Java前端、后台、…

【C++初阶】第十一篇:stack和queue的使用与模拟实现

文章目录 stack和queue的介绍和使用stack的介绍stack的定义方式stack的使用 queue的介绍queue的定义方式queue的使用 stack和queue的模拟实现容器适配器stack的模拟实现queue的模拟实现 总结&#xff1a; stack和queue的介绍和使用 stack的介绍 stack的文档介绍 stack是一种容…

文本三剑客之~~~sed命令

目录 sed概念sed 的工作流程&#xff1a;命令格式&#xff1a;常用选项&#xff1a;常用操作&#xff1a; 示例&#xff1a;打印删除替换&#xff1a;插入&#xff1a;剪切复制将字符替换位置 sed概念 sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提…

Allegro加密PCB文件

写在前面&#xff1a; 记得以前不知道Allegro可以加密PCB文件的时候&#xff0c;就遇到了尴尬的事情。 其一&#xff1a;要发给别人layout文件&#xff0c;但是又怕别人外传&#xff0c;而且有关于公司文件保密的问题&#xff0c;其实这不论是公事还是私事&#xff0c;如果我…

软测人正在杀死软测行业

前言、一个软件做出来&#xff0c;最不能少的人是谁&#xff1f; 不用说就是开发&#xff0c;因为开发是最了解软件运作的那个人&#xff0c;早期不少一人撸网站或者APP的例子&#xff0c;相当于一个人同时是产品、研发、测试、运维等等&#xff0c;这也是为何开发是地位和上限…

如何一步一步构建网站ChatGPT插件

在本文中&#xff0c;我们将一步一步地探索并构建一个名为"AI Prompt Testing"的项目。该项目是一个网站插件&#xff0c;旨在帮助网站生成一个ChatGPT提示测试题&#xff0c;以巩固当前网页的内容。 1、抽象提取 这个网站ChatGPT插件大概的效果&#xff0c;类比的…