时间复杂度从好到坏的级别
O(1)最快,比如查询字典。 O(log n)较快,比如二分查找。 O(n)中等,比如线性查找。 O(n^2)较慢,比如冒泡排序。 O(2^n)非常慢,比如穷举法。 O(n!)极端慢,比如阶乘时间复杂度。
简单说,时间复杂度从好到坏排,就这几个级别:
1. 常数级 O(1) 2. 对数级 O(log n) 3. 线性级 O(n) 4. 平方级 O(n^2) 5. 立方级 O(n^3) 6. 指数级 O(2^n) 7. 稀疏函数级 O(n!) 或 O(n^n)
1. 常数级 O(1) 2. 对数级 O(log n) 3. 线性级 O(n) 4. 平方级 O(n^2) 5. 立方级 O(n^3) 6. 指数级 O(2^n) 7. 稀疏函数级 O(n!) 或 O(n^n)
时间复杂度从好到坏的级别】
1. O(1) —— 常数时间复杂度:无论输入规模如何,执行时间都保持不变。 2. O(log n) —— 对数时间复杂度:随着输入规模的增长,执行时间成对数增长。 3. O(n) —— 线性时间复杂度:执行时间与输入规模线性增长。 4. O(n log n) —— 线性对数时间复杂度:先进行对数级的操作,再进行线性级的操作。 5. O(n^2) —— 平方时间复杂度:执行时间随着输入规模的平方增长。 6. O(n^3) —— 立方时间复杂度:执行时间随着输入规模的立方增长。 7. O(2^n) —— 指数时间复杂度:执行时间随输入规模以指数形式增长。 8. O(n!) —— 阶乘时间复杂度:执行时间随输入规模增长极其迅速,通常是计算密集型算法的表现。
1. O(1) —— 常数时间复杂度:无论输入规模如何,执行时间都保持不变。 2. O(log n) —— 对数时间复杂度:随着输入规模的增长,执行时间成对数增长。 3. O(n) —— 线性时间复杂度:执行时间与输入规模线性增长。 4. O(n log n) —— 线性对数时间复杂度:先进行对数级的操作,再进行线性级的操作。 5. O(n^2) —— 平方时间复杂度:执行时间随着输入规模的平方增长。 6. O(n^3) —— 立方时间复杂度:执行时间随着输入规模的立方增长。 7. O(2^n) —— 指数时间复杂度:执行时间随输入规模以指数形式增长。 8. O(n!) —— 阶乘时间复杂度:执行时间随输入规模增长极其迅速,通常是计算密集型算法的表现。