关于排序算法一点点想法
Q: 我们知道各种排序算法的时间复杂度, 他们为什么会有不同.
A: 1. 计算机从某种程度上来说就是-快, 所以能轻松胜任重复|既定的任务.
2. 由于1, 算法或则其他计算任务总能找到一个途径, 那就是穷举, 尽管不那么优美或则在某种程度上是不能接受的.
3. 冒泡是建立在2的基础上, 每次确定一个数据的位置都是穷举比较其余的所有数据, 或则说一次遍历所有的数据只能确定一个位置, 所以复杂度最高.
4. 快速, 堆, 归并等其余Log级别的算法, 每次确定一个数据只需要比较部分数据, 或则说一次遍历所有的数据在不同的层次(n)可以确定多个位置(2n).
5. 提高(排序)算法效率, 通用的原则就是在一次穷举中得到更多的数据.