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

时间复杂度和空间复杂度 [数据结构 初阶]

目录

算法效率

1. 时间复杂度

1.1 时间复杂度概念

1.2 大O 的渐进表示法

1.2.1 计算 func1 的基本操作执行了多少次 

1.3 推导 大O 阶方法

2. 空间复杂度


算法效率

// 算法效率分析分为两种: 1) 时间效率: 时间复杂度, 用来衡量一个算法的运行速度; 2) 空间效率: 空间复杂度, 用来衡量一个算法所需要的额外空间

1. 时间复杂度

1.1 时间复杂度概念

// 时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个数学函数,它定量描述了该算法的运行时间。

// 算法的基本操作的执行次数, 就是算法的时间复杂度

1.2 大O 的渐进表示法

// 大O 符号 (Big O notation): 是用来描述函数渐进行为的数学符号

void func1(int N) {int count = 0;for(int i = 0; i < N; i++) {for( int j = 0; j < N; j++) {count++;}}for(int k = 0; k < 2 * N; k++) {count++;}int M = 10;while((M--) > 0) {count++;}System.out.println(count);
}
1.2.1 计算 func1 的基本操作执行了多少次 

// 公式:                              F(N) = N^{​{​{_{2}}^{}_{}}^{}} + 2 * N + 10

// 实际上我们计算时间复杂度时, 通常都是只算大概执行次数, 所以我们用到 大O 的渐进表示法

1.3 推导 大O 阶方法

// 使用的基本流程: 1) 常数 1 代替运行时间中所有加法常数; 2)在修改后的运行次数函数中, 只保留最高阶项; 3) 如果最高接项存在且不是 1, 则去除与这个项目相乘的常数, 得到的结果就是大O阶

// 使用 大O 的渐进表示法之后, fun1 的时间复杂度为:   O(N^{2})

// 这个需要大家多找几个例子去多练一下就 "悟了" 

// 通过上面我们会发现大O 的渐进表示法去掉了哪些对结果影响不太大的项, 简洁明了的表示了执行次数

// 时间复杂度存在最好, 最坏和平均的情况:

// 最好情况: 任意输入规模的最小运行次数 (下界)

// 最坏情况: 任意输入规模的最大运行次数 (上界)

// 平均情况: 任意输入规模的期望运行次数

// 实际中, 我们一般关注的都是最坏运行情况, 所以数组中搜索数据时间复杂度为 O(N)

2. 空间复杂度

// 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度

// 空间复杂度算的是变量的个数

// 空间复杂度计算规则和时间复杂度相似, 也使用 大O 渐进表示法

 

相关文章:

  • Go语言--语法基础4--基本数据类型--字符串类型
  • MCU ADC参考电压变化怎么办?
  • 宝马中国再度深化AI布局,宣布正式接入DeepSeek技术
  • 【创新实训个人博客】数据库搭建
  • AOSP Android14 Launcher3——Launcher的状态介绍LauncherState类
  • 重合闸的作用与技术解析
  • Server-Side Request Forgery服务器端请求伪造(ssrf)
  • PDFMathTranslate:让数学公式在PDF翻译中不再痛苦
  • PDF嵌入图片
  • 新闻数据接口开发指南:从多源聚合到NLP摘要生成
  • Linux的例行性工作(crontab)
  • 自动驾驶(ADAS)领域常用数据集介绍
  • Windows 安装 Yarn 的教程
  • 4.2.2 MySQL索引原理以及SQL优化
  • LangChain构建大模型应用之RAG
  • java-mybatis01
  • 大模型时代的具身智能:从虚拟到现实的智能体进化革命
  • 用Python做有趣的AI项目 2:用 Python 和 NLTK 构建一个聊天机器人
  • 深度解析如何将图像帧和音频片段特征高效存储到向量数据库 Milvus
  • 深入浅出JVM - Java架构师面试实战
  • 西班牙葡萄牙电力基本恢复
  • 韩国下届大选执政党初选4进2结果揭晓,金文洙、韩东勋胜出
  • 澎湃回声|山东莱州、潍坊对“三无”拖拉机产销市场展开调查排查
  • 牛市早报|国家发改委:将推出做好稳就业稳经济推动高质量发展若干举措
  • 加拿大警方:已确认有9人在温哥华驾车撞人事件中遇难
  • “养老规划师”实则售卖保险,媒体:多部门须合力整治乱象