需要排序大量的不能容納到內存中的整數。想知道合併排序是否正確?我的解決方案是這樣的,合併排序與大量的整數
- 使用基於內存的排序每個5%的整數,它可以保存到內存中,使用快速排序,在內存中執行有效;
- 在每20個塊被排序後,使用合併排序對20個列表進行排序,對於合併排序,我只需要將每個文件的一部分加載到內存中,並在同一列表的當前部分加載相同列表的下一部分完全分類爲最終結果。由於20個列表中的每一個都是排序的,我只需要從頭到尾順序加載部分塊,所以內存很實惠。
我不確定這是否是大量整數排序的正確方法?
可能要看的東西是外部排序https://en.wikipedia.org/wiki/External_sorting –
@Moogs,感謝您的信息,我認爲合併排序是外部排序? –
是的,這是正確的方法。我用過很多次。除了我多次進行雙向合併,而不是20次合併。 –