以下为弥补ACM算法以外的知识点:
————————————————————————————
内部排序的时间复杂度有O(n^2), O(nlogn), O(d·n)
概括一些常听说的但却不太认识的一些排序方法:
希尔排序:缩小增量排序,属插入排序类。(直接进行插入排序复杂度很高,可先按增量排序,使整体有序后再作一次整体的插入排序)
计数排序:统计各个数字出现的次数。没什么好讲的。要注意和基数排序区别。
基数排序:多关键字排序+内部稳定排序。(比如先按最高位排序,再按最低位排序;再比如扑克牌先按花色排序,再按数字大小排序,为防止前一次排序因再次排序打乱,故采用稳定排序)
桶排序: 分桶,桶内进行插入排序,之后合并各个桶。
————————————————————————————
外部排序:
一、按可用内存大小将外存分段,依次读入内存进行排序,再重写入外存。
二、然后对上述排完序的归并段进行逐趟归并。
***为减少平衡归并中外存的读写次数采取方法:增大归并路数、减少归并段个数。
用败者树增大归并路数;
用置换选择排序增大归并段的长度来减少归并段个数。
————————————————————————————
查找:
此坑待填。