时间复杂度O(n^2)和O(nlog n)差距有多大? - lintungmao - 博客园 (cnblogs.com)
0. 时间复杂度
常见的时间复杂度有(表格越靠后表示越不理想):
| 复杂度 | 名称 |
|---|---|
| 常数阶 | |
| 对数阶 | |
| 线性阶 | |
| 线性对数阶 | |
| 平方阶 | |
| 立方阶 | |
| 次方阶( 且 ) | |
| 指数阶 |
例如,我们熟悉的插入排序(Insertion Sort)算法的时间复杂度是,而合并排序(Merge Sort)算法的时间复杂度是 那么这些复杂度之间的差距是怎么样的呢?有些小伙伴会疑问,自己写的算法虽然是高复杂度但是也用的好好的,为什么要纠结于这个概念呢?
我们不妨来探索一下今天的问题:和差距有多大?
1. 和差距有多大?

2. 总结
算法时间复杂度的量级差异,也许在小规模的问题下,表现差别不大。但是时间复杂度高的算法,对问题规模的变化更加敏感,因而当问题的规模变得很大的时候,靠拥有高阶时间复杂度的算法来求解并不可靠!
(更新)我从网络上找到了一个直观的各个阶的复杂度的对比,大家不妨参考一下:

参考:
Thomas H. Cormen, et al., Introduction to Algorithms Part I 1.2 www.bigocheatsheet.com