n个数排序,最坏情况下的最小交换次数是多少呢?
什么是最坏情况下?是将“987654321”排成“123456789的情况”??将逆序排成正序的情况?
有的文章说最少要n-1次,对吗?为什么?
它的证明如下:
证明:一:当未排序元素大于2时,每次交换都至少可以将一个元素放到它正确的位置上;当未排序元素等于2时,只要一次就可以把两个元素放到它正确的位置上。所以,最多需要n-1次。
二:若该序列为整数序列2,3,…,n,1。要将这个数列排序,必须把2到n共n-1个数往后移动。但是,每次交换只能将一个数字往后移动,所以至少需要n-1次交换才能完成排序。
第一步中:“每次交换都至少可以将一个元素放到它正确的位置上”是什么意思?
第二步中,怎么能用“若该序列为整数序列2,3,…,n,1”这样一个具体例子来证明 呢?证明要不失一般性!
你的观点呢?多谢指教