排序

本文深入解析了三种经典排序算法:冒泡排序、选择排序和插入排序。详细介绍了它们的实现步骤、时间复杂度及稳定性特点,为读者提供了一个全面理解排序算法的视角。

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

排序

冒泡排序
1.将无序序列中最大的元素移动到尾端(遍历比较,前大后小则交换)
2.对剩余无序序列执行上述步骤
时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性: 稳定(两两进行比较)

选择排序
1.遍历比较,选出最小值并记录该值索引(循环比较,小则更新)
2.交换最小值和无序序列首个元素
3.对剩余无序序列重复步骤1,2
时间复杂度:O(n^2)
稳定性: 不稳定(可能破坏原有的顺序》》 5(2),5(1),1>>1,5(1),5(2)>> 这样5(1) 永远在5(2)前面 破坏原有结构)

插入排序
1.将无序序列的首个元素向前插入(反向遍历,前大后小泽交换)
若没有前大后小泽结束
2.对剩余无序序列重复步骤1
时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性: 稳定

希尔排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值