基本排序算法(总结)

最近在阅读redis底层相关的知识,但是接近考研复试阶段,不管能否进入复试,复习一下上机内容是有必要的。而上机操作最基本的是排序,排序算法在找工作时也可能被面试官问到,所以在此,将复习的情况记录下。

首先看一下基本排序算法有哪些,以及相关的特点:

 

排序算法整理表

 

排序思想

排序方法

时间复杂度

空间复杂度

稳定性

内部排序

 

插入排序

直接插入排序

O(n2)

O(1)

稳定

折半插入排序

O(n2)

O(1)

稳定

希尔排序

取决于增量序列

O(1)

不稳定

 

交换排序

起泡排序

O(n2)

O(1)

稳定

快速排序

O(nlog2n)

O(log2n)

不稳定

选择排序

简单选择排序

O(n2)

O(1)

不稳定

堆排序

O(nlog2n)

O(1)

不稳定

-

2-路归并排序

O(nlog2n)

O(n)

稳定

-

基数排序(r基,d位)

O(d(n+r))

O(r)

稳定

外部排序

归并排序

多路归并排序

-

-

-

时间复杂度计算规则特殊说明:

1、加法规则:T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))

2、乘法规则:T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n))

 

以后的篇幅中,将针对各个排序算法进行C语言实现,加强自身记忆。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值