常见的算法时间复杂度

  1. 常数阶 图片说明
  2. 对数阶 图片说明
  3. 线性阶 图片说明
  4. 线性对数阶 图片说明
  5. 平方阶 图片说明
  6. 立方阶 图片说明
  7. k 次方阶 图片说明
  8. 指数阶 图片说明

1. 常数阶

无论代码执行了多少行,只要是没有循环等复杂结构,那这个代码的时间复杂度就是 O(1)

图片说明

无论这类代码有多长,都可以用 O(1) 来表示它的时间复杂度


2. 对数阶

图片说明

循环每次都 i * 2 增长, 即 2^x = n
如果 n = 1024, 这段代码就是执行了 log2 (1024) 次


3. 线性阶

图片说明

这段代码, for 循环里的代码会执行 n 遍, 因此它消耗的时间是随着 n 的变化而变化的, 因此这类代码都可以用 O(n) 来表示它的时间复杂度.


4. 线性对数阶

图片说明

将时间复杂度为 log_2(n) 的代码循环 N 遍


5. 平方阶

图片说明

立方阶、k次方阶 类似。