• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マージソートについて)

マージソートについての解説

このQ&Aのポイント
  • マージソートについての解説です。マージソートは、与えられた数字列を小さい順にソートするアルゴリズムです。
  • 具体的な手順として、マージソートでは、与えられた数字列を左右に分割して、それぞれを再帰的にソートします。そして、ソートされた2つの数字列をマージして、最終的なソート結果を得ます。
  • マージソートの利点は、安定なソートを行うことができる点です。また、ソートする数字列の長さに関わらず、一定の実行時間でソートを行うことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

>というより、わざわざ2つに分けて行く意味なんてあるんでしょうか?? 大あり。比較の回数が減る。 8個の数値を普通にソートすると 1・1番小さいのを探す(7回の比較が必要) 2・2番目に小さいのを探す(6回の比較が必要) 3・3番目に小さいのを探す(5回の比較が必要) 4・4番目に小さいのを探す(4回の比較が必要) 5・5番目に小さいのを探す(3回の比較が必要) 6・6番目に小さいのを探す(2回の比較が必要) 7・7番目に小さいのを探す(1回の比較が必要) 8・残ったのが8番目(0回の比較が必要) と言う感じで、合計、28回の比較が必要。 マージソートだと 1・左端から2つの値をとり、その2つを小さい順に並べ替えます(1回の比較が必要) 2・右隣の2つの値をとり、その2つを小さい順に並べ替えます(1回の比較が必要) 3・上記1と2で並べ替えた値(合計で4つの値)を小さい順に並べかえます(3回の比較が必要) 4・次に上記3の右隣の4つの数字を上記1,2,3と同じ手順で並べ替えをします(1+1+3=5回の比較が必要) 5・上記3、4で並べ替えた値(合計で8つの値がありますね)を小さい順に並べ替えます(7回の比較が必要) と言う感じで、合計、17回の比較で終ります。 比較の回数が9回少なくて済むって事は「より早く並び替え出来る」って事。 ソートは「比較回数が減れば減るほど優秀」なので、大いに意味がある。

hardtechno
質問者

お礼

なるほど 小さい順に並べ替える、っていうのは、普通のソートみたいに 1番目に小さいのを探す、の繰り返しではなく、 AB CD ↓ 1・AとCを比較、A決定 2・BとCを比較、C決定 3・BとDを比較、B決定、D決定 ・・・AとBの比較、CとDの比較は前段階で終わっている ってことなんですね。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

う~ん, ではどうすればいいと思ったんでしょうか?

関連するQ&A