看板 Prob_Solve 關於我們 聯絡資訊
給一字串全由字母 A-Z 組成 將其依字母順序由小到大排序 限定只能相鄰字母兩兩交換 問至少要交換幾次 能排序完成 Ex. Input : DCBA Output: 6 請問這有好的算法嗎 謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210 ※ 文章網址: http://www.ptt.cc/bbs/Prob_Solve/M.1412297667.A.454.html
ckc1ark: 從merge sort下手 10/03 09:06
LPH66: 所求為逆序對的數目, 不過基本上就是 merge sort... 10/03 09:19
cutekid: 謝謝 c 大 和 L 大 10/03 09:36
cutekid: L 大好厲害,可以想到是求「逆序對」數目,讚歎! 10/03 09:39
springman: merge sort 可以做到「只能相鄰字母交換」嗎? 10/03 20:06
springman: 感覺上好像 bubble sort 與 inersetion sort 可以。 10/03 20:07
springman: 抱歉,打錯字,insertion sort。 10/03 20:08
johnathan717: 用什麼sort都可以,只是merge sort能O(nlgn)算逆序數 10/04 01:31
DJWS: 那為什麼不用counting sort? 聽起來更快 10/04 14:07
DJWS: springman: merge sort不能做到相鄰字母交換 但是改一改之後 10/04 14:12
DJWS: 可以用來數逆序對 10/04 14:13
springman: 說得也是,只是要計算交換幾次而已,謝謝。 10/04 20:10