数据结构---排序算法总结(外部排序)

本文详细介绍了外部排序的过程,强调了增大归并路数和减少归并段个数对减少磁盘I/O次数的重要性。讨论了败者树在多路归并中的应用,以保持内部排序效率,同时指出归并路数的增加需权衡内存缓冲区的大小。此外,还提及了置换-选择排序作为另一种减少外排时间的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 很久以前没有胭脂,女子的脸只为情郎红。

2. 世界如此广阔,你却走进了悲伤的墙角

1. 排序:

2. 插入排序

2.1. 直接插入排序

2.2. 折半插入排序

2.3. 希尔排序

3. 交换排序

3.1. 冒泡排序

3.2. 快速排序

4. 选择排序

4.1 简单选择排序

4.2 堆排序

5. 归并排序和基数排序

6. 各种内部排序算法的比较及其应用

7. 外部排序

要点

  • 外部排序指待排文件较大,内存一次放不下,需存放在外部介质的文件的排序
  • 为减少平衡归并中外存读写次数所采取的方法:增大归并路数 减少归并段个数
  • 利用败者树增大归并路数
  • 利用置换-选择排序增大归并段长度来减少归并段个数
  • 由长度不等的归并段,进行多路平衡归并,需要构造最佳归并树

基本概念:

前面的排序都是在内存中进行的(称之为内部排序)。然而实际应用中,经常需要对大文件进行排序,因为文件中记录很多,信息量庞大,所以无法将整个文件拷贝进内存中进行排序

因此,需要将待排序的记录存储在外存上,排序时再把数据一部分一部分的调入内存中进行排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值