谁能解决这个排序问题,与众不同的排序
Sunday 博客专家认证 2010-04-18 03:36:04 前面发的类似的帖子估计大家没看懂,这样我改变一下方式说一下:
有N个位置,从左到右,其位置上分别有一块石头(重量各不相等),现在要求把这些石头排好序,从左到右依次递增.但移动石头要花费一定的费用,费用的大小就是移动石头的重量。问怎样移动石头才能使排序的费用最小。
例如:有三个位置,从左到右 石头的重量依次是:3(n1),1(n2),2(n3);(ni表示第i个位置)
第一种排序方式:先让n1上的石头与n3位置上的石头交换交换,然后n1上的石头与n2交换,(即:3,2 交换,然后2,1交换)此时花费3*1+2*2+1*1=8(重量为3的石头移动了1次,重量为2的石头移动了2次,重量为1的石头移动了1次);
第二种排序:先让1,2交换,然后1,3交换.此时的费用1*2+2*1+3*1=7;
我们看到不同的移动石头方式有不同的费用,问:对于给定的N个位置,和每个位置上的石头重量,怎样移动排序能使费用最小,并且求出最小费用。