我給出了集{1,2,...,n}的排列組合。我必須通過以最低總成本交換位於連續職位上的數字來排序此排列。交換位於連續位置的元素x,y的成本是min(x,y)。排列成本
例如,如果我有置換3,1,2,4的總成本最小爲3。 因爲我做這些步驟((X,Y)指其中y交換X):
- (3,1),2,4結果1,3,2,4與成本最小(1,3)= 1
- 1,(3,2),4結果1,2,3,4與成本分鐘(2,3)= 2
總成本爲3。
我試圖蠻力,通過SW應用最低成本未排序對,直到沒有未排序的對,但這種方法顯然不夠快。
我的問題是,如何根據我的條件找到排序的最小成本?
這裏沒有問題。你告訴我們你在做什麼。你想做什麼與你正在做的不同?順便說一句,你的英語+1 ......這是非常好的。 :) –
@JonathanM,這個問題很明顯:什麼是最優化的解決方案? – Shahbaz
@ user1385303,你可以舉一個例子,說明冒泡排序給出的結果不是最優的嗎?在我看來,如果你貪婪地交換你得到的最低成本(但我需要證明它)。 – Shahbaz