【算法】算法设计与分析 课程笔记 第一章&第二章

第一章 算法概述

算法的性质

算法的四个性质:输入、输出、确定性和有穷性

算法的时间复杂度

1. 常见的时间复杂度

  1. 常数阶 O(1)

  2. 对数阶 O(log n)

  3. 线性阶 O(n)

  4. 线性对数阶 O(nlog n)

  5. 平方阶 O(n^2)

  6. 立方阶 O(n^3)

  7. k 次方阶 O(n^k)

  8. 指数阶 O(2^n)

注:上面的 log n 均代表以2为底的对数。

2. 时间复杂度排序

常见的算法时间复杂度由小到大依次为:

Ο(1)<Ο(log n)<Ο(n)<Ο(nlog n)<Ο(n^2)<Ο(n^3)< Ο(n^k) < Ο(2^n)

随着问题规模n的不断增大,上面时间复杂度的值也不断增大,算法的执行效率越来越低。

第二章 递归与分治策略

相关推荐
每天努力学编程4 小时前
磁盘分区扩容笔记
笔记
兔子零10244 小时前
零硬件交互:如何用纯前端把摄像头变成 4000 个粒子的魔法棒?
前端·算法
AnAnCode4 小时前
【时间轮算法】时间轮算法的详细讲解,从基本原理到 Java 中的具体实现
java·开发语言·算法·时间轮算法
sin_hielo4 小时前
leetcode 3432
数据结构·算法·leetcode
Mr_Hu4044 小时前
鸿蒙开发学习笔记-生命周期小记
笔记·学习·harmonyos·鸿蒙
fufu03114 小时前
Linux环境下的C语言编程(三十七)
算法
风筝在晴天搁浅5 小时前
代码随想录 300.最长递增子序列
算法·动态规划
小O的算法实验室5 小时前
2026年EAAI SCI1区TOP,基于进化算法的多目标施工现场布局与安全规划模型,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
.小小陈.5 小时前
C++初阶5:string类使用攻略
开发语言·c++·学习·算法