8种排序算法--开山篇

我们不得不知道8种排序算法。8种排序更是大企业面试的常问题目。

首先我们要明白一些概念:

首先作为排序由于记录数量,使排序过程中涉及的存储器不同,可将排序方法分为内部排序外部排序

内部排序:待排序的记录存放在计算机随机存储器中进行的排序过程。

外部排序:待排序记录很大,是内存一次不能全部记录,在排序中尚要对外存进行访问的排序过程。

 

那常见的内部排序有

 

选择排序(直接选择排序,堆排序)

交换排序(冒泡排序,快速排序)

插入排序(直接插入排序,折半插入排序,希尔排序)

归并排序

 

首先请看这是我总结出来的一张表格:

 

排序名

时间复杂度

空间复杂度

稳定性

冒泡排序

O(n^2)

O(1)

稳定

直接选择排序

O(n^2)

O(1)

不稳定

快速排序

O(nlogn)

O(logn)

不稳定

直接插入排序

O(n^2)

O(1)

不稳定

堆排序

O(nlogn)

O(1)

不稳定

归并排序

O(nlogn)

O(nlogn)

稳定

折半插入排序

O(n^2)

O(1)

稳定

希尔排序

O(n(logn)^2)

O(1)

不稳定

 

首先要看这张表要明白什么是时间复杂度,什么是空间复杂度,什么是稳定性。.

时间复杂度:排序比较的次数,也就是循环的次数。

空间复杂度:就是内存的开销

稳定性:若两个记录AB的关键字值相等,但是排序后A,B的先后次序保持不变,则称这种排序算法是稳定

优缺点:自己总结,评判标准是实价和空间复杂度的大小。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值