数据结构笔记 第八章 排序
第八章 排序
- 排序的基本概念
- 插入排序
- 直接插入排序;折半插入排序;希尔排序
- 交换排序
- 冒泡排序;快速排序
- 选择排序
- 简单选择排序;堆排序
- 2路归并排序
- 基数排序
- 外部排序
- 各种排序算法的比较
- 排序算法的应用
直接插入 躺数 固定 n-1
简单选择 躺数 固定 n-1
基数排序不能对 float double实数进行排序 躺数 固定 d
快排 越有序 越不利
堆排序 和归并排序 无论数列是否有序 时间复杂度 都不变 nlogn
算法复杂度与初始状态无关的有:选择排序、堆排序、归并排序、基数排序。
元素总比较次数与初始状态无关的有:选择排序、基数排序。
元素总移动次数与初始状态无关的有:归并排序、基数排序。
排序趟数与初始状态有关的有:快排、冒泡排序。
每趟都能确定一个元素最终位置 简单,快排(基准) ,冒泡,堆
1.排序的基本概念
2.插入排序
每次将一个待排序的元素 按其关键字的大小 插入到前面排好序的序列
3.希尔排序
4.冒泡排序
5.快速排序
快速排序 不稳定
6.简单选择排序
7.堆排序
8.堆的插入和删除
9.归并排序
10.基数排序
步骤 分配(按照一位数字的大小)
收集()
11.外部排序
12.败者树(减少关键字对比次数)
13.置换选择排序(进一步减少归并段的数量)
14.最佳归并树
|