数据结构与算法(2)——算法复杂度O

  • 时间复杂度
  1. 赋值语句决定了程序运行时间,赋值语句越多,时间越长。
  2. 大O表示法:T(n)表示主导的数量级
  • 常见大O数量级函数

常数、对数、线性、对数线性、平方、立方、指数。(这里记住曲线,高中数学快忘了)

  • 其他算法复杂度表示法

  •  空间复杂度
  1. 算法的空间复杂度通过计算算法所需的存储空间实现,算法的空间复杂度的计算公式记作:S(n)=O(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数,也是一种“渐进表示法”,这些所需要的内存空间通常分为“固定空间内存”(包括基本程序代码、常数、变量等)和“变动空间内存”(随程序运行时而改变大小的使用空间)。
  2. 计算方法:例如递归算法。忽略常数,用O(1)表示 ,递归算法的空间复杂度=递归深度N*每次递归所要的辅助空间, 对于单线程来说,递归有运行时堆栈,求的是递归最深的那一次压栈所耗费的空间的个数,因为递归最深的那一次所耗费的空间足以容纳它所有递归过程。
  • 常用算法的时间复杂度和空间复杂度

 参考链接:https://blog.csdn.net/qq_17534301/article/details/82872357

原文地址:https://www.cnblogs.com/yeshengCqupt/p/12495526.html