数据结构笔记----排序

第十章、内部排序

本章总结

在这里插入图片描述
快速排序越杂乱无章越好

有关排序的基本概念

在这里插入图片描述
在这里插入图片描述
为了保持哈夫曼树的唯一性,要选择稳定的排序方法

插入排序

在这里插入图片描述

一、直接插入排序

1、思路

在这里插入图片描述
哨所其缓存作用,暂时存放被插入元素
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、算法分析

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

二、折半插入排序(直接插入排序算法改进之一)

1、思想

在这里插入图片描述

2、算法分析

在这里插入图片描述

三、表插入排序(直接插入排序算法改进之二)

1、思想

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2、代码

在这里插入图片描述

四、希尔排序(直接插入排序算法改进之三)

1、思想

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2、代码

在这里插入图片描述
在这里插入图片描述

3、算法分析

在这里插入图片描述

交换排序

一、冒泡排序

1、概念

在这里插入图片描述

2、算法分析

在这里插入图片描述

二、快速排序(重点)

1、概念

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、代码

在这里插入图片描述
在这里插入图片描述

3、算法分析

在这里插入图片描述在这里插入图片描述
改进:可以找中间元素作为基准,避免成为单只二叉树

选择排序

一、直接选择排序

在这里插入图片描述

1、概念

在这里插入图片描述

2、算法分析

在这里插入图片描述

二、锦标赛排序

1、概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、算法分析

在这里插入图片描述
在“十万个元素找前十”这种问题中,锦标赛排序是最好的方法,比快排都要好。

三、堆排序

在这里插入图片描述

1、堆的概念

在这里插入图片描述
在这里插入图片描述

2、堆排序的基本思路

在这里插入图片描述

3、堆的建立

在这里插入图片描述
第二行:H.r[s] 是根节点,rc是缓存变量,j是左孩子
第四行:j的左孩子和右孩子比较
在这里插入图片描述

4、如何建立初始堆

在这里插入图片描述

在这里插入图片描述

5、基于初始堆进行堆排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

堆排序的算法

在这里插入图片描述

算法分析

在这里插入图片描述

归并排序(略讲)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

基数排序(略讲)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值