采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排序,共需要几次比较,输出每次的结果

简单选择排序过程及比较次数

对序列(49, 38, 65, 97, 76, 13, 27, 49)进行非降序排序,使用简单选择排序算法:

比较次数计算

• 序列长度 n = 8。

•*** 简单选择排序的比较次数固定为n(n−1)/2***

• 代入公式:

比较次数=8×7/2​=28

结论:共需 28 次比较,与序列初始状态无关。


每趟排序结果(共 7 趟)

  1. 第 1 趟:

    • 选最小元素13(索引 5),与首位49交换。

    • 结果:[13, 38, 65, 97, 76, 49, 27, 49]。

  2. 第 2 趟:

    • 在剩余序列中选最小元素27(索引 6),与38交换。

    • 结果:[13, 27, 65, 97, 76, 49, 38, 49]。

  3. 第 3 趟:

    • 在剩余序列中选最小元素38(索引 6),与65交换。

    • 结果:[13, 27, 38, 97, 76, 49, 65, 49]。

  4. 第 4 趟:

    • 在剩余序列中选最小元素49(索引 5),与97交换。

    • 结果:[13, 27, 38, 49, 76, 97, 65, 49]。

  5. 第 5 趟:

    • 在剩余序列中选最小元素49(索引 7),与76交换。

    • 结果:[13, 27, 38, 49, 49, 97, 65, 76]。

  6. 第 6 趟:

    • 在剩余序列中选最小元素65(索引 6),与97交换。

    • 结果:[13, 27, 38, 49, 49, 65, 97, 76]。

  7. 第 7 趟:

    • 在剩余序列中选最小元素76(索引 7),与97交换。

    • 最终结果:[13, 27, 38, 49, 49, 65, 76, 97]。


完整流程总结

【表格】
趟数 操作(选择最小元素交换) 当前序列
初始 - 49, 38, 65, 97, 76, 13, 27, 49
1 交换 49(位置0)和 13(位置5) 13, 38, 65, 97, 76, 49, 27, 49
2 交换 38(位置1)和 27(位置6) 13, 27, 65, 97, 76, 49, 38, 49
3 交换 65(位置2)和 38(位置6) 13, 27, 38, 97, 76, 49, 65, 49
4 交换 97(位置3)和 49(位置5) 13, 27, 38, 49, 76, 97, 65, 49
5 交换 76(位置4)和 49(位置7) 13, 27, 38, 49, 49, 97, 65, 76
6 交换 97(位置5)和 65(位置6) 13, 27, 38, 49, 49, 65, 97, 76
7 交换 97(位置6)和 76(位置7) 13, 27, 38, 49, 49, 65, 76, 97


算法特性说明

• 稳定性:不稳定(两个49的相对顺序改变)。

• 时间复杂度:

• 比较次数:恒为O(n2)O(n^2)O(n2)(本例 28 次)。

• 移动次数:与序列相关,最坏为3(n−1)3(n-1)3(n−1)。

• 适用场景:适用于数据量较小且对稳定性无要求的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值