哪位牛人能解釋一下one-pass sort,multi-pass sort具體的實現方法。
十個數,在表裡的順序是:9 6 0 1 4 7 5 8 2 3
假定記憶體排序每次對四個數進行
1) 9 6 0 1 在記憶體排序後為0 1 6 9,排序後寫入臨時段,按照專業的叫法,這個叫sort run 1
2) 4 7 5 8 在記憶體排序後為4 5 7 8,排序後寫入臨時段,sort run 2.
3) 2 3 在記憶體排序後為2 3 ,排序後寫入臨時段,sort run 3
然後再把這三個有序的段依次merge進記憶體裡,最後形成一個有序的的結果集。
這可能就是所謂的一路排序。
多路排序的情況是,可能這三個有序的段,不能一次的讀入到記憶體中,那麼可能的結果就是讀入了前兩個有序段,排序後,把其中一個寫入磁碟,再讀入第三個。
前兩段排序後的結果為:
0 1 4 5 6 7 8 9
然後把6 7 8 9 寫入到臨時段,拿sort run 3再和第一段0 1 4 5 進行排序 0 1 2 3 4 5 。
至此記憶體中的資料加上臨時段的資料就形成了一個有序的結果集。
這是隻我的妄自猜測,還希望有知道的大俠。給出解答。
假定記憶體排序每次對四個數進行
1) 9 6 0 1 在記憶體排序後為0 1 6 9,排序後寫入臨時段,按照專業的叫法,這個叫sort run 1
2) 4 7 5 8 在記憶體排序後為4 5 7 8,排序後寫入臨時段,sort run 2.
3) 2 3 在記憶體排序後為2 3 ,排序後寫入臨時段,sort run 3
然後再把這三個有序的段依次merge進記憶體裡,最後形成一個有序的的結果集。
這可能就是所謂的一路排序。
多路排序的情況是,可能這三個有序的段,不能一次的讀入到記憶體中,那麼可能的結果就是讀入了前兩個有序段,排序後,把其中一個寫入磁碟,再讀入第三個。
前兩段排序後的結果為:
0 1 4 5 6 7 8 9
然後把6 7 8 9 寫入到臨時段,拿sort run 3再和第一段0 1 4 5 進行排序 0 1 2 3 4 5 。
至此記憶體中的資料加上臨時段的資料就形成了一個有序的結果集。
這是隻我的妄自猜測,還希望有知道的大俠。給出解答。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-665730/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用sort方法實現陣列升序降序陣列
- Collections sort()排序方法排序
- 用java語言用sort方法實現groupby分組Java
- c++ list sort方法C++
- 【轉】堆排序Heap Sort——Java實現排序Java
- Python中sort()方法的使用Python
- Collections.sort()方法,字元排序字元排序
- Flink Sort-Shuffle 實現簡介
- .NET 排序 Array.Sort<T> 實現分析排序
- 關於stable_sort()和sort()的區別:
- javascript sort方法容易犯錯的地方JavaScript
- elasticsearch實現簡單的指令碼排序(script sort)Elasticsearch指令碼排序
- 線性時間的排序 - Decision Tree Model & Counting Sort & Radix Sort & Bucket Sort排序
- SORT (UNIQUE STOPKEY)/ SORT GROUP BY STOPKEYTopK
- JavaScript sort()JavaScript
- 排序sort排序
- sort命令
- Queue Sort
- sort排序排序
- topo sort
- JavaScript 中陣列 sort() 方法的基本使用JavaScript陣列
- Python中用來排序的方法sort、sortedPython排序
- 【c++】結構體sort排序C++結構體排序
- golang sort.Sort () 排序演算法學習Golang排序演算法
- sort_area_retained_size與sort_area_sizeAI
- Sort Array By Parity
- Oracle Sort JoinOracle
- sort 命令使用
- sort()函式函式
- 用原生Js利用sort方法 實現圖片的正 倒排序和隨機排序JS排序隨機
- [Shell] Sort排序的例子排序
- _sort_elimination_cost_radit和sort排序排序
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- Python教程:sort和sorted實現排序之對比Python排序
- Javascript陣列排序sort方法和自定義排序方法JavaScript陣列排序
- 堆排序 Heap Sort排序
- Elasticsearch script sort 排序Elasticsearch排序
- Java Arrays.sort()Java