C语言数据结构:排序!

目录

一、排序基本概念

 1、基本概念

 2、排序算法的评价指标

 3、排序算法的分类

 4、小结

二 、插入排序

 1、算法思想

 2、算法实现

 3、算法效率分析

 4、优化——折半插入排序

 1、优化思想

 2、代码实现

 5、对链表进行插入排序

 6、小结

 三、希尔排序(Shell Sort)

 1、实现思想​编辑

 2、代码实现

 3、算法性能分析

 4、稳定性、适用性分析

 5、小结

四、冒泡排序

1、冒泡排序

五、快速排序(高频)

六、简单选择排序

七、堆排序

 1、什么是“堆(Heap)”

 2、如何基于“堆”进行排序

 3、建立大根堆

 1、思想方式

 2、代码实现

 4、基于大根堆排序

 5、算法效率分析

 6、小结

八、堆的插入删除

插入操作

删除操作

小结

九、归并排序(Merge Sort) 

1、什么是归并

2、”多路“归并 

3、归并排序(手算模拟)

4、代码实现

5、算法效率分析

6、小结

十、基数排序(Radix Sort)

基本概念

算法效率分析

稳定性 

基数排序的应用

小结

十一、外部排序

 外存、内存之间的数据交换 

 外部排序原理

 构造初始“归并段”

 时间开销分析​编辑

 如何优化?

 1、采取多路归并​编辑

 2、减少初始归并端的数量

小结

纠正:什么是多路平衡归并?​

十二、败者树

什么是败者树 ?

败者树在多路平衡归并当中的应用 

败者树的实现思路 

小结 

十三、置换选择排序

十四、最佳归并树


一、排序基本概念

1、基本概念

 2、排序算法的评价指标

1、时刻复杂度

 2、稳定性

 3、排序算法的分类

 

 4、小结

 

二 、插入排序

1、算法思想

 

 2、算法实现

方式1

方式2 

 3、算法效率分析

 

 

 

 4、优化——折半插入排序

1、优化思想

 2、代码实现

 5、对链表进行插入排序

6、小结

 三、希尔排序(Shell Sort)

 

 1、实现思想

 2、代码实现

 3、算法性能分析

 

4、稳定性、适用性分析

 

 5、小结

四、冒泡排序

1、冒泡排序

 

 

 稳定性:冒泡排序是稳定的!!!!

 

小结

 

五、快速排序(高频

算法思想

代码实现 

效率分析 

 

 小结

  

 六、简单选择排序

 

  七、堆排序

 1、什么是“堆(Heap)”

 

 2、如何基于“堆”进行排序

 3、建立大根堆

1、思想方式

 2、代码实现

 4、基于大根堆排序

 

 5、算法效率分析

 

6、小结

 

 八、堆的插入删除

插入操作

 删除操作

直接用堆尾的元素来替代删除的位置,然后开始调整 

小结

九、归并排序(Merge Sort) 

1、什么是归并

2、”多路“归并 

3、归并排序(手算模拟)

 4、代码实现

 5、算法效率分析

 

 6、小结

  

 十、基数排序(Radix Sort)

基本概念

 算法效率分析

稳定性 

基数排序的应用

 小结

十一、外部排序

外存、内存之间的数据交换 

 

外部排序原理

 构造初始“归并段”

 时间开销分析

 如何优化?

1、采取多路归并

 2、减少初始归并端的数量

 

 

小结

 纠正:什么是多路平衡归并?

 

十二、败者树

什么是败者树 ?

败者树在多路平衡归并当中的应用 

败者树的实现思路 

小结 

十三、置换选择排序

 

 

 小结

十四、最佳归并树

 

 

 

 三路归并必须要保证每一次归并都是三路,补充0的区段来完成任务!!!!

 

 添加虚段的数量

 

 小结

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值