排序算法时间度

本文介绍了多种排序算法,包括冒泡排序、快速排序等,并详细分析了它们的时间复杂度、空间复杂度及稳定性特点。还提供了具体实现思路如插入排序、希尔排序等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

排序法

最差时间分析平均时间复杂度稳定度空间复杂度
冒泡排序O(n2)O(n2)稳定O(1)
快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)
选择排序O(n2)O(n2)稳定O(1)
二叉树排序O(n2)O(n*log2n)不稳定O(n)

插入排序

O(n2)O(n2)稳定O(1)
堆排序O(n*log2n)O(n*log2n)不稳定O(1)
希尔排序OO不稳定O(1)

 

一、 插入排序

将第n个元素,和前面n-1个元素进行比较,如果比当中一个元素大,就插入其后面

 

二、  希尔排序 (插入排序的一种更高效的改进版本

先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序

 

三、选择排序

从未排序好的数据中,找到找到最大(最小的元素),组合到一个新的对列中

 

四、冒泡排序

一次比较两个元素,如果他们的顺序错误就把他们交换过来

 

五、归并排序

分治法(Divide and Conquer)的一个非常典型的应用。 分别排序,然后在组合在一起

 

六、快速排序

分治法 ,来把一个串行(list)分为两个子串行

 

七、堆排序

是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点

 

八、基排序

是将阵列分到有限数量的桶子里。每个桶子再个别排序

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值