作者:海鹰
本人才疏学浅,若有纰漏,虚心请教
本文讲述内部排序相关概念
版权所有,未经允许,请勿随意转载。
排序(Sorting)
是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。
内部排序-外部排序
由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两大类:
一类是内部排序,指的是待排序记录存放在计算机随机存储器中进行的排序过程;
另一类是外部排序,指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。
内部排序的分类
如果按排序过程中依据的不同原则对内部排序方法进行分类,则大致可分为插入排序、交换排序、选择排序、归并排序和计数排序等五类。
内部排序根据工作量分类
如果按内部排序过程中所需的工作量来区分,则可分为3类:
- 简单的排序方法,其时间复杂度为O(n^2)
- 先进的排序方法,其时间复杂度为O(nlogn)
- 基数排序,其时间复杂度为O(d*n)