更新时间:2024-05-21 15:03
数据排序是按一定顺序将数据排列,以便研究者通过浏览数据发现一些明显的特征或趋势, 找到解决问题的线索。除此之外,排序还有助于对数据检查纠错,以及为重新归类或分组等提供方便。在某些场合,排序本身就是分析的目的之一,例如了解究竟谁是中国汽车生产的三巨头, 对于汽车生产厂商而言不论它是作为伙伴还是竞争者,都是很有用的信息。美国的《财富》杂志每年都要在全世界范围内排出500强企业,通过这一信息,不仅可以了解自己企业所处的地位,清楚自己的差距,还可以从一个侧面了解到竞争对手的状况,有效制定企业的发展规划和战略目标。
方法
好的排序方法可以有效提高排序速度,提高排序效果。
在计算机领域主要使用数据排序方法根据占用内存的方式不同分为2大类:内部排序方法与外部排序方法。
内部排序方法
若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。
内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排序、归并排序和基数排序。
其中,插入排序主要包括直接插入排序和希尔排序两种;选择排序主要包括直接选择排序和堆排序;交换排序主要包括气(冒)泡排序和快速排序。
外部排序方法
外部排序基本上由两个相互独立的阶段组成。首先,按可用内存大小,将外存上含n个记录的文件分成若干长度为k的子文件或段(segment),依次读入内存并利用有效的内部排序方法对它们进行排序,并将排序后得到的有序子文件重新写入外存。通常称这些有序子文件为归并段或顺串;然后,对这些归并段进行逐趟归并,使归并段(有序子文件)逐渐由小到大,直至得到整个有序文件为止。