Algs4-2.1.2在选择排序中,一个元素最多可能会被交换多少次?

 2.1.2在选择排序中,一个元素最多可能会被交换多少次?平均可能会被交换多少次?
答:
1)设对N个元素进行排序,那么有N个位置用来摆放这N个元素。一个元素无论在排序前还是在交换后所处的位置只可能在1至N的某一个位置上,而排序后这个元素也一定在1至N的某个位置k上,当排序前和交换后这个元素没有在排序后的位置k上时就需要进行一次交换,那么一个元素最多交换的次数是指尽可能的在排序前和交换后使这个元素不在位置k上,而这样的位置个数为:除开排序后所在的1个位置的所有其他位置,即N-1个位置。由于算法2.1中的代码中元素自身可以交换,所以最多有N次交换。
例如一个未排序的序列:5 1 2 3 4中元素5就是一个需要最多次交换才能处在排序后的位置的元素。
5 1 2 3 4

1 5 2 3 4
1 2 5 3 4
1 2 3 5 4
1 2 3 4 5
1 2 3 4 5

2)对N个元素进行排序时,最多进行N次交换,每个元素平均交换1次。

转载于:https://www.cnblogs.com/longjin2018/p/9860002.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值