9.1 排序的基本概念

内部排序与外部排序:

根据排序时数据所占用存储器的不同,可将排序分为两类。一类是整个排序过程完全在内存中进行,称为内部排序;

另一类是由于待排序记录数据量太大,内存无法容纳全部数据,排序要借助外部存储设备才能完成,称为外部排序。

 排序的稳定性:假设在待排序的序列中存在多个具有相同关键字的记录。若相同关键字的领先关系在排序过程中没有发生变化,则称所用的排序方法是稳定的;反之,若相同关键字的领先关系在排序过程中发生变化,则称所用的排序方法是不稳定的。

在排序过程中,一般进行两种基本操作:

①比较两个关键字的大小

②将记录从一个位置移动到另一个位置。

 对于待排序的记录序列,有三种常见的存储表示方法:

①向量结构,即将待排序的记录存放在一组地址连续的存储单元中。由于在这种存储方式中,记录之间的次序关系由其存储位置来决定,所以排序过程中一定会移动记录。

②链表结构。采用链表结构时,记录之间逻辑上的相邻性是靠指针来维持的,这样在排序时,就不必移动记录元素,而只需要修改指针。这种排序方式被称为链表排序。

③记录向量与地址向量结合,即将待排序记录存放在一组地址连续的存储单元中,同时另设一个指示各个记录位置的地址向量。这样在排序过程中不移动记录本身,而仅修改地址向量中记录的“地址”,排序结束后,再按照地址向量中的值调整记录的存储位置。这种排序方式被称为地址排序。

猜你喜欢

转载自blog.csdn.net/weixin_42617472/article/details/85246590
9.1
今日推荐