排序小结

苍穹之下,万物有序。在\(OI\)中,排序也是必不可少的技能。排序可以分为依赖于比较的排序和不依赖比较的排序,根据时间复杂度还可以继续细分为三类:

\(O(N^2)\)排序:选择排序插入排序冒泡排序

\(O(NlogN)\)排序:快速排序归并排序

以上五种排序都是基于比较的排序方式。\(NlogN\)是复杂度下界,只有不基于比较的排序方式才能打破下界。

\(O(n)\)排序:桶排序计数排序基数排序

以上三种是不基于比较的排序方式,复杂度跟值域和数据个数有关。

另外,排序还有很多很多变种,例如排序网络、希尔排序、臭皮匠排序、珠排序、猴子排序等等,有兴趣的读者可以去看看,在\(OI\)应用中,上面列举的\(8\)种排序方式应该是足够的了。

posted @ 2018-09-25 09:24  AKMer  阅读(141)  评论(0编辑  收藏  举报