在具有n個元素的集合中找第k(≤k≤n)個最小元素應使用快速排序方法其基本思想如下設n個元素的集合用一維數組表示其第一個元素的下標為最後一個元素下標為n以第一個元素為樞軸經過快速排序的一次劃分找到樞軸的位置i若i=k則該位置的元素即為所求若i>k則在至i間繼續進行快速排序的劃分若i<k則在i+至n間繼續進行快速排序的劃分這種劃分一直進行到i=k為止第i位置上的元素就是第k(≤k≤n)個最小元素
快速排序各次調用結果
一次調用
二次調用
三次調用
歸並排序各次調用結果
一次調用 (子文件長度為合並後子文件長度為)
二次調用 (子文件長度為合並後子文件長度為)
三次調用 (第一子文件長度第二子文件長度為)
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/23200.html