算法复杂度分析

常见算法复杂度

O(1) Level

O(1) 级别的 两个数交换位置就是O(1)级别

O(n) Level

一般带有 一个 for 循环 且for循环与 n 有关 那么他是 O(n) 级别的

这种循环次数为 1/2 n 的 循环操作 也是 O(n) Level

O(n^2) Level

一般来说 只要是有两个for 循环的 大多都是 O(n^2) Level
即使 第二个循环与第一个循环有关联 只要不是 第二个循环是第一个循环的 1/2 那么大多是 O(n^2)

但是这种就不是 O(n^2) Level 因为 第二个 for循环次数固定不变

O(logn) Level

二分查找法是典型的 O(logn) 级别的算法

因为第二次查找是在 第一次查找的 1/2 中查询

O(n logn) Level

在这个循环中 虽然有两个 for 循环
但是 第一层循环每次都会 增加为原来两倍 所以他是 O(n logn)

O(根号n) Level

判断素数
由于