数据结构笔记 第八章 排序
- 1.排序的基本概念
- 2.插入排序
- 3.希尔排序
- 4.冒泡排序
- 5.快速排序
- 6.简单选择排序
- 7.堆排序
- 8.堆的插入和删除
- 9.归并排序
- 10.基数排序
- 11.外部排序
- 12.败者树(减少关键字对比次数)
- 13.置换选择排序(进一步减少归并段的数量)
- 14.最佳归并树
第八章 排序
- 排序的基本概念
- 插入排序
- 直接插入排序;折半插入排序;希尔排序
- 交换排序
- 冒泡排序;快速排序
- 选择排序
- 简单选择排序;堆排序
- 2路归并排序
- 基数排序
- 外部排序
- 各种排序算法的比较
- 排序算法的应用
直接插入 躺数 固定 n-1
简单选择 躺数 固定 n-1
基数排序不能对 float double实数进行排序 躺数 固定 d
快排 越有序 越不利
堆排序 和归并排序 无论数列是否有序 时间复杂度 都不变 nlogn
算法复杂度与初始状态无关的有:选择排序、堆排序、归并排序、基数排序。
元素总比较次数与初始状态无关的有:选择排序、基数排序。
元素总移动次数与初始状态无关的有:归并排序、基数排序。
排序趟数与初始状态有关的有:快排、冒泡排序。
每趟都能确定一个元素最终位置 简单,快排(基准) ,冒泡,堆
1.排序的基本概念
2.插入排序
每次将一个待排序的元素 按其关键字的大小 插入到前面排好序的序列
3.希尔排序
4.冒泡排序
5.快速排序
快速排序 不稳定
6.简单选择排序
7.堆排序
8.堆的插入和删除
9.归并排序
10.基数排序
步骤 分配(按照一位数字的大小)
收集()
11.外部排序
12.败者树(减少关键字对比次数)
13.置换选择排序(进一步减少归并段的数量)
14.最佳归并树
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异