计算机编程艺术[排序部分]阅读感想

当着手解决一个新问题时,先找某些相当明显的解决方法,然后再试图改进它,往往是明智的。

 

为什么会有这么多种排序算法。因为每种方法都有其优缺点,对于某些数据和硬件配置来说,它有可能超过其他的方法。目前许多最好的方法,都是针对特定的机器,根据特定的目的,对特定对象进行排序所得到的。

 

计数排序:对元素两两比较,直接确定元素位置。需要一个同样大小的辅助数组。

分布计数排序:假设元素分布在一个小的范围内,同样需要辅助数组,但辅助数组大小是原数组的元素的范围。

 

插入排序:由于元素是被安放到适当的层次中去,这种排序方法通常称为筛选(sifting)或陷入(sinking)技术。

 

直接插入排序

二叉插入:利用了二分查找算法确定位置。但没有解决数据移动的问题。

二路插入:头一项被放置在一个输入区域中心,通过向左或向右移动腾出地方。

 

对计算机编程艺术的感觉:

介绍算法,讲的很深入,值得好好阅读,因而把该系列的书加入阅读范围之内。

点赞