我有一些問題。在我閱讀Sedgewick和Wayne書的過程中,我發現了一些我無法理解的句子。他們寫道:「在第一個例子中,我們在處理整個數組之前做了兩個 遞歸調用[他們談論MergeSort];在第二個例子中,我們在處理整個數組之後做了兩次遞歸調用[他們談論QuickSort]。「 可能有人向我解釋這兩句話的完整概念。 祝好!QuickSort,Algorithms,4th ed。 - [Sedgewick,Wayne]
0
A
回答
1
這些句子不必要的混淆。實際上,兩種算法的工作方式完全一樣:A.準備子問題進行工作,B.處理子問題,遞歸調用自己,C.將解決方案與子問題結合成完整問題的完整解決方案。
在mergesort中,通過將輸入列表分成兩部分來準備子問題。
在快速排序中,它們是通過將輸入數組分成兩部分來找到的,這兩部分包含的值較小,而且不小於選定的樞軸。
mergesort的重組步驟正在合併。
對於快速排序的重組步驟是無操作,即什麼都不做,這是因爲分選在適當的位置做,上同一陣列。
恰巧合並排序的最後一步更爲實質,並且對於快速排序 - 第一個。
3
它指的是在Merge和QuickSort使用的分而治之戰略中完成工作的順序。
具體來說,MergeSort將工作分成更小的塊並進行遞歸調用,然後將兩個結果合併在一起。它在執行合併步驟之前遞歸地調用自身。
QuickSort首先找到一個數據透視表並通過交換元素執行一個分區,然後將工作分成更小的數據塊並進行遞歸調用。它在執行分區步驟後遞歸地調用自身。
相關問題
- 1. Sedgewick - 算法4庫
- 2. Heroku Apps上的New Relic Wayne
- 3. 無法實現Quicksort
- 4. 誰知道Sedgewick-Vitter算法?
- 5. <Algorithms >除數問題
- 6. Liitle Schemer 4th page103 value function
- 7. Threaded quicksort
- 8. quicksort implementation
- 9. Cormen quicksort
- 10. quickSort - StackOverflowException
- 11. Quicksort/Insertion組合比Quicksort慢嗎?
- 12. iOS iPhone 4th。 Xcode的3或4
- 13. 塔式我讀<a href="http://books.google.co.in/books?id=pQRLfMngZ7sC" rel="nofollow"><em>Algorithms</em> by Robert Sedgewick</a></p> <p>河內
- 14. MergeSort,QuickSort或HeapSort?
- 15. C++ Quicksort Seg Fault
- 16. quicksort Mips assembly
- 17. Quicksort pivote選擇
- 18. C++ QuickSort not clear
- 19. Quicksort問題(java)
- 20. Quicksort in place Python
- 21. QuickSort中的StackOverflowException
- 22. QuickSort分區
- 23. 標準ml quicksort
- 24. 執行Quicksort
- 25. C++ Quicksort Algorithm Crashing
- 26. Quicksort Array Code
- 27. Quicksort遞歸
- 28. JavaScript Quicksort遞歸
- 29. 這是XSS-ed嗎?
- 30. 爲什麼ed≡1(modφ(n))可以轉換爲ed - 1 =kφ(n)?