数据结构(python) —— 【15: NB三人组小结】

本文总结了快速排序、堆排序和归并排序这三种常见排序算法,它们的时间复杂度均为O(nlog(n))。在运行时间上,快速排序通常最快,归并排序次之,堆排序相对较慢。快速排序在极端情况下效率会降低,归并排序需要额外内存,而堆排序实现相对复杂。了解这些特性有助于在不同场景下选择合适的排序算法。

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

快速、堆、归并排序小结

之前讲了Low B三人组,然后最近又讲了NB三人组的快速排序、堆排序和归并排序。
数据结构(python) —— 【08排序: 快速排序】
数据结构(python) —— 【11: 堆排序】
数据结构(python) —— 【14: 归并排序】
其中堆排序可能比较难理解,需要花费更多时间去结合图文进行理解。今天来把这三个排序进行小结一下。


三种排序算法的时间复杂度都是O(nlog(n))
一般情况下,就运行时间而言:
快速排序 < 归并排序 < 堆排序

三种排序算法的缺点:
快速排序: 极端情况下,排序效率低
归并排序: 需要额外的内存开销
堆排序: 在快的排序算法中较慢

排序方法时间复杂度空间复杂度稳定性代码复杂度
最坏情况 平均情况 最好情况
冒泡排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单
选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定 简单
插入排序 O(n^2) O(n^2) O(n^2) O(1) 稳定 简单
快速排序 O(n^2) O(nlogn) O(nlogn) 平均情况O(logn);最坏情况O(n) 不稳定 较复杂
堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳定 复杂
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n) 稳定 较复杂
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值