复杂度度量-时间空间复杂度

时间复杂度

  1. 在评价算法运行效率时,往往忽略处理小规模问题的能力差异,转而关注其在处理大规模问题是的表现,更为关注时间复杂度的总体变化趋势和增长速度的策略与方法,成为渐进分析。
  2. 在规模为n的所有输入中选择执行时间最长的为T(n),并以其度量算法时间复杂度。T(n)的渐进上界为O(f(n)),即为时间复杂度。
  3. 对于任意常数c>0,有O(f(n)) = O(cf(n)).即函数各项正的常数项可以忽略。
  4. 对于任意常数a>b>0,有O(n^a +n^b) = O(n^a).多项式中低次项可以忽略。
  5. 对算法的复杂度最好的情况做估计,记为Ω(g(n))。
  6. 对时间复杂度的准确估计记为Θ(h(n))。

空间复杂度

  1. 算法所需要的存储空间的多少也是衡量其性能的重要指标。包括转储、中转、索引、映射、缓冲等各个方面所消耗的空间。
  2. 对于时间复杂度的渐进记号也适用于空间复杂度

几种典型的复杂度级别

  1. 常数O(1)、对数O(log n)、线性O(n)、多项式O(polynomial(n))、指数O(2^n)
posted @ 2021-10-25 09:13  Ada_CN  阅读(82)  评论(0编辑  收藏  举报