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

数据结构笔记--排序

  • 第十章、内部排序
    • 本章总结
    • 有关排序的基本概念
    • 插入排序
      • 一、直接插入排序
        • 1、思路
        • 2、算法分析
      • 二、折半插入排序(直接插入排序算法改进之一)
        • 1、思想
        • 2、算法分析
      • 三、表插入排序(直接插入排序算法改进之二)
        • 1、思想
        • 2、代码
      • 四、希尔排序(直接插入排序算法改进之三)
        • 1、思想
        • 2、代码
        • 3、算法分析
    • 交换排序
      • 一、冒泡排序
        • 1、概念
        • 2、算法分析
      • 二、快速排序(重点)
        • 1、概念
        • 2、代码
        • 3、算法分析
    • 选择排序
      • 一、直接选择排序
        • 1、概念
        • 2、算法分析
      • 二、锦标赛排序
        • 1、概念
        • 2、算法分析
      • 三、堆排序
        • 1、堆的概念
        • 2、堆排序的基本思路
        • 3、堆的建立
        • 4、如何建立初始堆
        • 5、基于初始堆进行堆排序
        • 堆排序的算法
        • 算法分析
    • 归并排序(略讲)
    • 基数排序(略讲)

第十章、内部排序

本章总结

数据结构笔记----排序_第1张图片
快速排序越杂乱无章越好

有关排序的基本概念

数据结构笔记----排序_第2张图片
数据结构笔记----排序_第3张图片
为了保持哈夫曼树的唯一性,要选择稳定的排序方法

插入排序

数据结构笔记----排序_第4张图片

一、直接插入排序

1、思路

数据结构笔记----排序_第5张图片
哨所其缓存作用,暂时存放被插入元素
数据结构笔记----排序_第6张图片数据结构笔记----排序_第7张图片数据结构笔记----排序_第8张图片

2、算法分析

数据结构笔记----排序_第9张图片数据结构笔记----排序_第10张图片
数据结构笔记----排序_第11张图片

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

1、思想

数据结构笔记----排序_第12张图片

2、算法分析

数据结构笔记----排序_第13张图片

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

1、思想

数据结构笔记----排序_第14张图片
数据结构笔记----排序_第15张图片数据结构笔记----排序_第16张图片

2、代码

数据结构笔记----排序_第17张图片

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

1、思想

数据结构笔记----排序_第18张图片
数据结构笔记----排序_第19张图片数据结构笔记----排序_第20张图片

2、代码

数据结构笔记----排序_第21张图片
数据结构笔记----排序_第22张图片

3、算法分析

数据结构笔记----排序_第23张图片

交换排序

一、冒泡排序

1、概念

数据结构笔记----排序_第24张图片

2、算法分析

数据结构笔记----排序_第25张图片

二、快速排序(重点)

1、概念

数据结构笔记----排序_第26张图片数据结构笔记----排序_第27张图片数据结构笔记----排序_第28张图片数据结构笔记----排序_第29张图片

2、代码

数据结构笔记----排序_第30张图片
数据结构笔记----排序_第31张图片

3、算法分析

数据结构笔记----排序_第32张图片数据结构笔记----排序_第33张图片
改进:可以找中间元素作为基准,避免成为单只二叉树

选择排序

一、直接选择排序

数据结构笔记----排序_第34张图片

1、概念

数据结构笔记----排序_第35张图片

2、算法分析

数据结构笔记----排序_第36张图片

二、锦标赛排序

1、概念

数据结构笔记----排序_第37张图片
数据结构笔记----排序_第38张图片
数据结构笔记----排序_第39张图片
数据结构笔记----排序_第40张图片
数据结构笔记----排序_第41张图片

2、算法分析

数据结构笔记----排序_第42张图片
在“十万个元素找前十”这种问题中,锦标赛排序是最好的方法,比快排都要好。

三、堆排序

数据结构笔记----排序_第43张图片

1、堆的概念

数据结构笔记----排序_第44张图片
数据结构笔记----排序_第45张图片

2、堆排序的基本思路

数据结构笔记----排序_第46张图片

3、堆的建立

数据结构笔记----排序_第47张图片
第二行:H.r[s] 是根节点,rc是缓存变量,j是左孩子
第四行:j的左孩子和右孩子比较
数据结构笔记----排序_第48张图片

4、如何建立初始堆

数据结构笔记----排序_第49张图片

数据结构笔记----排序_第50张图片

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

数据结构笔记----排序_第51张图片
数据结构笔记----排序_第52张图片
数据结构笔记----排序_第53张图片
数据结构笔记----排序_第54张图片

数据结构笔记----排序_第55张图片
数据结构笔记----排序_第56张图片

堆排序的算法

数据结构笔记----排序_第57张图片

算法分析

数据结构笔记----排序_第58张图片

归并排序(略讲)

数据结构笔记----排序_第59张图片
数据结构笔记----排序_第60张图片

数据结构笔记----排序_第61张图片
数据结构笔记----排序_第62张图片

基数排序(略讲)

数据结构笔记----排序_第63张图片
数据结构笔记----排序_第64张图片
数据结构笔记----排序_第65张图片
数据结构笔记----排序_第66张图片

数据结构笔记----排序_第67张图片
数据结构笔记----排序_第68张图片
数据结构笔记----排序_第69张图片
数据结构笔记----排序_第70张图片

数据结构笔记----排序_第71张图片
数据结构笔记----排序_第72张图片

你可能感兴趣的:(2020数据结构学习)