关于排序算法一点点想法

    Q: 我们知道各种排序算法的时间复杂度, 他们为什么会有不同.

    A:  1. 计算机从某种程度上来说就是-快, 所以能轻松胜任重复|既定的任务.

         2. 由于1, 算法或则其他计算任务总能找到一个途径, 那就是穷举, 尽管不那么优美或则在某种程度上是不能接受的. 

         3. 冒泡是建立在2的基础上, 每次确定一个数据的位置都是穷举比较其余的所有数据, 或则说一次遍历所有的数据只能确定一个位置, 所以复杂度最高.

         4. 快速, 堆, 归并等其余Log级别的算法, 每次确定一个数据只需要比较部分数据, 或则说一次遍历所有的数据在不同的层次(n)可以确定多个位置(2n).

         5. 提高(排序)算法效率, 通用的原则就是在一次穷举中得到更多的数据.

posted @ 2009-06-08 19:19  Tyrael  阅读(171)  评论(1编辑  收藏  举报