数据结构—排序
注:此文档《数据结构与算法之美》的课上学习和自习总结的。属于原创文章,如发现错误,请指出
系列文章
什么是数据结构?什么是算法?
数据结构—数组
数据结构—链表
数据结构—栈
数据结构—队列
数据结构—排序
排序
- 概念:是将一组无序的数据调整为有序的数据,分为内部排序,和外部排序
- 内部排序:在排序的过程中不需要访问外部的内存就可以完成
- 外部排序:若排序的数据很多,挣个序列的排序不可能在内存中完成,称为外部排序。
- 常见的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序等。
- 分类:
- 稳定排序:如果待排序的数据中 存在两个相同的关键字,在使用某种排序算法后,这些相同的关键字的次序仍然不变,则这种排序方法是稳定的。如 冒泡、插入、基数等属于稳定排序
- 就地(原地)排序:排序算法所需的辅助空间并不依赖于问题的规模n,即空间为复杂度O(1),则称为就地(原地)排序。
如果分析一个“排序算法”?
- 算法的执行效率
- 时间复杂度(最好,最坏,平均)
- 时间复杂度的系数、常数、低阶
- 比较次数和交换(或移动)次数
- 算法的内存消耗
- 算法的稳定性
排序算法需要大家多多练习,这里在文章的系列文章给大家实现了一些算法,大家可以去看看。
题外话:谢谢大家观看,有不足之处欢迎大家一起讨论;码字不易,大家喜欢,麻烦点赞哦。
灵魂三问:
- 有没有觉得技术得不到系统的提升,技术成长慢?
- 有没面试懵逼,升职加薪难?
- 有没有想过去大一点的世界看看?
有期望JAVA技术巩固的、Android知识进阶的、期望升职加薪的、Android面试技巧的、大厂面试真题的;大家可以加我QQ哦:1070800492。我们一起学习,一起进步!
重要的事情说三遍:
- 学习、挣钱、自由
- 学习、挣钱、自由
- 学习、挣钱、自由
疫情当下,唯有自强