数据结构也快学完了,排序算的上是很常用的一种算法, 也体现了算法设计中的一些常用的思路。
算法设计中一个很重要的思路就是整体和局部。
快速算法是,分治算法更是,其实插入排序和选择排序也外乎于此。折半查找就是从整体到局部的一个下放过程来加以改进简单插入排序的。Shell算法更是基于此。且Shell算法中增量的恰当选择就表达出了如何正确有效的对整体进行局部划分。除此外,仔细分析其他算法,这种思想也体现的很明显。
除了整体与局部的思路外。通过增加标志可以算的又是一个思路吧!2-路插入排序和哨兵的增加也就体现了这。
基于以上两种思路,在实际中就可以比较灵活的进行算法设计了。