数据结构6.2内部排序

本文详细介绍了内部排序的各种方法,包括直接插入排序、折半插入排序、2路插入排序、表插入排序、希尔排序、交换排序(起泡排序、快速排序)、选择排序(简单选择排序、树形选择排序、堆排序)、归并排序(递归和非递归实现)、计数排序和基数排序。重点讨论了排序方法的稳定性、分类以及各自的优势。
摘要由CSDN通过智能技术生成

排序

假设含n个记录的序列为
{R1,R2,…,Rn}
其对应的关键字序列为
{K1,K2,…,Kn}
这些关键字的排列方式有多种,其中至少有一种排列方式能使得关键字之间存在着这样一个关系:
Kp1 <= Kp2 <= … <= Kpn
按此关系将记录序列重新排列为
{Rp1,Rp2,…,Rpn}
即为有序记录,将这一过程称为排序

排序方法的稳定性

若在一个记录序列中Ki == Kj,且在排序前的序列中Ri领先于Rj。若在排序后的序列中Ri仍领先于Rj,则称使用的排序方法是稳定的;若排序后的序列中可能使Rj领先于Ri,则称所用的排序方法是不稳定的。

排序方法分类

若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序;反之,待排序的记录数量很大,整个排序过程不能在内存中一次完成,需要借助外存才能实现,则称此类排序为外部排序

内部排序方法

1.插入排序:将无序序列区中的记录向有序序列区中插入,使有序序列长度增加
2.交换排序:通过比较记录的关键字大小来决定是否交换记录,从而排定记录所在位置
3.归并排序:将两个小的有序记录序列合并成一个大的有序记录序列,逐步增加有序序列长度
4.选择排序:从无序序列区中选出关键字最小(升序排列)或最大(降序排列)的记录,并将它交换到有序序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值