私には何か質問があります。 SedgewickとWayneの本を読んでいるうちに、私は理解できない文章を見つけました。彼らは書いています: - "最初の例では、配列全体を処理する前に2つの再帰呼び出しを行います(2番目の例では、配列全体を処理した後に2つの再帰呼び出しを行います[彼らはMergeSortについて話しています) QuickSortについて話す] 誰かが私にこれら2つの文章の完全なアイデアを説明するかもしれない。 よろしくお願いします!クイックソート、アルゴリズム、第4版 - [Sedgewick、Wayne]
0
A
答えて
1
文章が不必要に混乱しています。実際には、両方のアルゴリズムはまったく同じように働いています。すなわち、A.サブ問題の作成、B.サブ問題の作業、自己再帰的な呼び出し、C.サブ問題に対する解決策の完全な問題への完全な解決へのC.
mergesortでは、入力リストを2つに分割してサブ問題を作成します。
クイックソートでは、選択されたピボットより小さくない値を含む2つの部分に入力配列を分割することによって見つけられます。
mergesortの組換えステップがマージされています。
ソートが同じアレイ上で、場所にが行われるため、クイックソートのための組換えステップは、すなわち何もしない、何もしません。
マージソートの場合、最後のステップはより重要であり、クイックソートは最初のステップです。
3
これは、MergeとQuickSortの両方が使用する分割征服戦略での作業の順番です。
具体的には、MergeSortは作業を小さなチャンクに分割し、再帰呼び出しを行い、2つの結果をマージします。これは、のマージステップを実行する前に、再帰的にと呼ばれます。
QuickSortはまずピボットを見つけ、要素を交換してパーティションを実行し、次に小さなチャンクに分割して再帰呼び出しを行います。がパーティションステップを実行したあと、再帰的にと呼ばれます。
関連する問題
- 1. Red Black Tree削除アルゴリズム(CLR第3版)
- 2. アルゴリズムによる第4版の問題のCLIによるEclipseファイル入力
- 3. Javaプログラミング言語第4版エクササイズ3.3
- 4. C Primer Plus第6版第6章プログラミング演習4
- 5. Perl "逆コンパートメント演算子"(Programming Perl、第4版の例)
- 6. Visual Studio C#2010第4版からの演習
- 7. は、Arrays.asListの制限は()この本でのJava第4版
- 8. SCORM 2004第3版オーサリングツール
- 9. C++入門第5版第17.5.3項fstreamは改行しない
- 10. OpenGLプログラミングガイド第7版ソースコードの例
- 11. "Rails Way"第3版procエクササイズエラーページ360
- 12. コーディング・インタビューをクラッキングする、第6版、2.8
- 13. は、Python第2版エクササイズ7-1
- 14. コードの第2版を完成
- 15. SessionHelperをHartlの第3版チュートリアル
- 16. join()メソッドとThe Complete Java Reference第9版
- 17. C++入門演習2.27 [第5版]
- 18. ブートストラップ4ベータ版:ブートストラップ4について
- 19. ブートストラップ4ベータ版のnav FIXED
- 20. Java Connect 4 MinMaxアルゴリズム
- 21. 毎月の第1、第2、第3、第4月曜日の取得方法は?
- 22. クイックソートを乱数化アルゴリズムとランダムに比較する方法
- 23. VBAコード - 第4ループでスタック
- 24. 第2のベータ版の第三者からコンポーネントを追加する
- 25. PGError:ERROR:relation "users"が存在しない - Railsチュートリアル第2版第9章Heroku
- 26. Rails 3ネストしたパーシャル、コレクション、ローカル(レールチュートリアル第2版:第10章、エクササイズ5)
- 27. ブートストラップ4ベータ版(最新版)ストライプテーブルの色の変更
- 28. ブートストラップ4ベータ版に入れる方法
- 29. 注文を無視第4キャラクタ
- 30. 第4章コンマコード - ブックから延長