查找与排序

以下为弥补ACM算法以外的知识点:

————————————————————————————

内部排序的时间复杂度有O(n^2), O(nlogn), O(d·n)

概括一些常听说的但却不太认识的一些排序方法:

希尔排序:缩小增量排序,属插入排序类。(直接进行插入排序复杂度很高,可先按增量排序,使整体有序后再作一次整体的插入排序)

计数排序:统计各个数字出现的次数。没什么好讲的。要注意和基数排序区别。

基数排序:多关键字排序+内部稳定排序。(比如先按最高位排序,再按最低位排序;再比如扑克牌先按花色排序,再按数字大小排序,为防止前一次排序因再次排序打乱,故采用稳定排序)

桶排序:  分桶,桶内进行插入排序,之后合并各个桶。

————————————————————————————

外部排序:

一、按可用内存大小将外存分段,依次读入内存进行排序,再重写入外存。

二、然后对上述排完序的归并段进行逐趟归并。

***为减少平衡归并中外存的读写次数采取方法:增大归并路数、减少归并段个数。

用败者树增大归并路数;

用置换选择排序增大归并段的长度来减少归并段个数。

————————————————————————————

查找:

此坑待填。

posted @ 2016-04-22 10:29  我在地狱  阅读(224)  评论(0编辑  收藏  举报