外部排序算法

外部快排(External Quicksort): 與普通快排不同的是,關鍵數據是一段buffer,首先將之前和之後的M/2個元素讀入buffer並對該buffer中的這些元素進行排序,然後從被排序數組的開頭(或者結尾)讀入下一個元素,假如這個元素小於buffer中最小的元素,把它寫到最開頭的空位上;假如這個元素大於buffer中最大的元素,則寫到最後的空位上;否則把buffer中最大或者最小的元素寫入數組,並把這個元素放在buffer里。

保持最大值低於這些關鍵數據,最小值高於這些關鍵數據,從而避免對已經有序的中間的數據進行重排。完成後,數組的中間空位必然空出,把這個buffer寫入數組中間空位。然後遞歸地對外部更小的部分,循環地對其他部分進行排序。

相關詞條

熱門詞條

聯絡我們