对于一个序列进行 从小到大 排序,例如 3 2 5 1 5 2 3,怎么求最少的交换次数。请求类似问题的确切求法。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于一个序列进行 从小到大 排序,例如 3 2 5 1 5 2 3,怎么求最少的交换次数。请求类似问题的确切求法。相关的知识,希望对你有一定的参考价值。
对于一个序列进行 从小到大 排序,例如 3 2 5 1 5 2 3,怎么求最少的交换次数。请求类似问题的确切求法。
1和第1个3交换后面的2和第1个5交换
后面的3和和倒数第三位的5交换
得1223355
只要三次
类似问题要注意交换的两个数字都应尽量在本位上
如上,3在第4和5是本位,1只有第1是本位,1又是第4位,所以与3交换是最佳的,其它类似追问
我倒,我是想说这是人的算法。而电脑在时间上不一定行得通
参考技术A 交换次数与所选择的排序算法及序列的初始状态有关的。就此例如选直接选择排序,首先选最小的1与第一位置的3交换,2不用交换,然后5与2交换,最后是5与3交换,只用三次交换就可以了以上是关于对于一个序列进行 从小到大 排序,例如 3 2 5 1 5 2 3,怎么求最少的交换次数。请求类似问题的确切求法。的主要内容,如果未能解决你的问题,请参考以下文章