经典排序算法

在排序前先了解一下时间复杂度和空间复杂度的概念。

时间复杂度:描述一个算法执行时间与数据规模的增长关系--------时间
空间复杂度:描述一个算法占用空间与数据规模的增长关系--------内存

由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两类:
一类是内部排序一般在内存中实现,指的是待排序列存放在计算机随机存储器中进行的排序过程;
另一类是外部排序,指的是待排序的元素的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。
常见的内部排序算法分为两类:
在这里插入图片描述
比较类排序:通过比较来决定元素间的相对次序,时间复杂度为 O(nlogn)~O(n²)。属于比较类的有:
在这里插入图片描述
非比较类排序:不通过比较来决定元素间的相对次序,其时间复杂度可以突破 O(nlogn),以线性时间运行。属于非比较类的有:
在这里插入图片描述
名词解释:
n:待排序列的个数
r:“桶”的个数(上面的三种非比较类排序都是基于“桶”的思想实现的)
d:待排序列的最高位数
In-place:原地算法,指的是**占用常用内存,不占用额外内存。**空间复杂度为 O(1) 的都可以认为是原地算法
Out-place:非原地算法,占用额外内存
稳定性:假设待排序列中两元素相等,排序前后这两个相等元素的相对位置不变,则认为是稳定的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值