[請問] Quick sort 排序過程

作者: APE36 (PT鄉民)   2014-07-28 19:48:59
想請問一下Quick Sort排序過程,數值如下:
106,25,33,9,6,150,290,86,7,51,178,199
請問Pass1~Pass3分別是多少呢??
我看過原始碼後還是不能理解他的交換步驟,
想請益有人知道的可以分享一下他的交換步驟吧
thanks!!
作者: taurus9258 (春虫虫牛)   2014-07-28 20:52:00
有看過wiki的解說了嗎? http://ppt.cc/86a1Quick Sort有很多種版本 基本上抓個核心概念取一個pivot 經過某些交換 最後會讓左邊都小於pivot右邊都大於pivot 然後再divide&conquer對左右兩邊重複有錯請強者更正
作者: CodeWarrior (Code Warrior)   2014-07-28 21:11:00
沒錯XD
作者: bolue (I'm BT)   2014-07-28 23:00:00
可以到Youtube 搜尋看看 不少有趣的影片
作者: taurus9258 (春虫虫牛)   2014-07-28 23:59:00
我接觸的第一版本是Hoare版 取最左邊當pivot然後從兩方向互找 左2(令為i)向右找比pivot大右一(另為j) 向左找比pivot小的值 找到後 兩數互換重覆這動作 直到i>=j 停止 最後pivot和j兩數互換 結束這一輪完成後 pivot該數的位置就可以固定了以原PO的例子來說 左1的106就會變成左8 也就是第8小然後做 左邊的25 33 9 6 86 7 51 完成後再做右邊↑ 跑完第1輪的順序不一定長這樣 實際跑才知道

Links booklink

Contact Us: admin [ a t ] ucptt.com