数据结构-排序算法总览
1、排序
通常将数据元素称为记录。显然我们输入的是一个记录集合,排序输出的也是一个记录集合。可以将排序看成线性表的一种操作。
排序的依据是关键词之间的大小关系,对同一记录集合,针对不同的关键字进行排序,可以得到不同的序列。
2、影响排序算法性能的几个要素
1)时间性能;尽可能少的关键字比较次数和记录移动次数
2)辅助空间;使用内存较小
3)算法的复杂度;
3、排序算法的种类
简单分为两大类:
简单算法:冒泡排序,简单选择排序,直接插入排序;
改进算法:希尔排序,堆排序,归并排序,快速排序;
根据时间复杂度分为3类:
O(n2):冒泡,选择,插入,希尔;
O(nlogn):并归,快速,堆;
O(n):计数,桶,基数;
-
均按从小到大排列
-
k代表数值中的"数字"个数
-
n代表数据规模
-
m代表数据的最大值减最小值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧