分割統治法とは?大きな問題を小さく分けて解き

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

分割統治法とは(全体像)

分割統治法は、そのままでは大きすぎる問題を、小さな部分問題に分けて解き、最後に結果を合わせる設計の考え方。「分けて、片づけて、まとめる」と覚えるとよい。

身近な例が答案の採点。1000枚の答案を10人で分けて配り(分割)、各自が担当ぶんを採点し(統治)、最後に点数を集計する(結合)。一人で全部やるより、分けたほうがずっと速い。これが分割統治法のイメージだ。

ポイントは、分けた部分問題が互いに独立して解けること。お互いの結果を待たずに別々に解けるからこそ、分けるうまみが出る。


詳しく:3ステップと代表例だけ覚えれば戦える

ここが記事の心臓部。分割統治法は、次の3つの手順で進む。

分割統治法の3ステップ

ステップ英語やること
①分割Divide問題を小さな部分問題に分ける
②統治Conquer各部分問題をそれぞれ解く(小さければそのまま)
③結合Combine部分の解を合わせて全体の答えにする

この考え方を使った代表的なアルゴリズムが、試験でよく問われる。

分割統治法の代表例

アルゴリズム分け方速さの目安
マージソート半分ずつに分けて、整列して合わせるO(n log n)
クイックソート基準値で大小に分けるO(n log n)(平均)
2分探索真ん中で半分にしぼるO(log n)

たとえばマージソートは、配列を半分ずつに分け続け、小さくなったら整列し、合わせながら戻していく。分割統治の流れがそのまま形になった代表例だ。

つまり、分割統治法は「大きい問題を半分などに分け、解いて、合わせる」やり方。分けることで、まとめて解くより速くなる、というわけだね。

なお、各部分を解くときに自分自身と同じやり方をくり返す(再帰)ことが多い。再帰は「実現する手段」で、分割統治は「設計の方針」という関係だ。

わかりやすく言い換えると

要するに、分割統治法は「分けて・片づけて・まとめる」だ。

分割 … 大きな問題を小さく分ける(答案を10人に配る)

統治 … 分けた部分をそれぞれ解く(各自が採点する)

結合 … 結果を合わせて答えにする(点数を集計する)

代表例は「マージソート・クイックソート・2分探索」。この3つをセットで覚えると、問題で見分けやすくなる。


試験のツボ

🔴 一番出る:分割・統治・結合の3ステップ

①分割(小さな部分問題に分ける)

②統治(各部分を解く)→ ③結合(合わせて答えにする)

🔴 次に出る:代表例

①マージソート・クイックソートはO(n log n)

②2分探索はO(log n)

🟡 押さえると安定:再帰との関係

①再帰は「実現する手段」

②分割統治は「設計の方針」で、両者は別の話


よくある間違い

「分割統治法と再帰はまったく同じもの」→ ✗  再帰は実現する手段、分割統治は設計の方針。同じではない。

「分割統治法はどんな問題にも使える」→ ✗  部分問題に分けられ、解を合わせられる問題でこそ効く。

「マージソートは分割統治法ではない」→ ✗  マージソートは分割統治法の代表例。半分に分けて整列し合わせる。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(3ステップ)

📝 オリジナル問題 1 分割統治法の3ステップ

分割統治法の手順に関する次の記述のうち、正しいものはどれか。

  1. 問題を分けずに、最初から全体をひとかたまりのまま一気に解くのが分割統治法だ
  2. 問題を小さな部分に分割し、各部分を解いてから、解を結合して全体の答えにする
  3. 問題を分割した後は、部分問題をいっさい解かずに、そのまま結合するだけの手順だ
  4. 問題を結合してから分割し、最後に統治する順番で進めるのが正しい手順とされる
オーエスペン
オーエスペン 解答・解説

解答は 2 だよ。

分割統治法は①分割→②統治(各部分を解く)→③結合の順なんだ。「分けて・片づけて・まとめる」で覚えてね。

選択肢1の「分けない」、選択肢3の「解かずに結合」、選択肢4の「結合してから分割」はどれも誤りだよ。

選択肢判定理由
1小さく分けてから解く
2分割→統治→結合の順
3各部分をきちんと解く
4分割が先、結合が最後

オリジナル問題2(代表例)

📝 オリジナル問題 2 分割統治法の代表例

分割統治法を使った代表的なアルゴリズムに関する次の記述のうち、正しいものはどれか。

  1. マージソートは分割統治法とは無関係で、配列を分けることもいっさいしないものだ
  2. 2分探索は分割統治法ではなく、先頭から順に1つずつ調べていくだけの方法である
  3. 分割統治法の代表例は、マージソート・クイックソート・2分探索などが挙げられる
  4. 分割統治法の代表例はバブルソートだけで、ほかには一つも存在しないものとされる
オーエスペン
オーエスペン 解答・解説

解答は 3 だよ。

分割統治法の代表例はマージソート・クイックソート・2分探索なんだ。どれも「半分などに分けて解く」のが共通点だよ。

選択肢1の「マージソートは無関係」、選択肢2の「2分探索は順に調べる」、選択肢4の「バブルソートだけ」はどれも誤りだよ。

選択肢判定理由
1マージソートは代表例
22分探索も分割統治
3マージ・クイック・2分探索
4代表例は複数ある

オリジナル問題3(再帰との関係)

📝 オリジナル問題 3 再帰との関係

分割統治法と再帰の関係に関する次の記述のうち、正しいものはどれか。

  1. 再帰は実現する手段、分割統治は設計の方針であり、両者は別のことを指している
  2. 再帰と分割統治はまったく同じ言葉で、どちらも同じものを指しているにすぎない
  3. 分割統治法は再帰をいっさい使わず、ループだけで実現すると決められた手法だ
  4. 再帰は設計の方針、分割統治は実現する手段という関係で、両者の役割は逆だ
オーエスペン
オーエスペン 解答・解説

解答は 1 だよ。

再帰は実現する手段、分割統治は設計の方針なんだ。分割統治は再帰で実現されることが多いけど、同じ言葉ではないよ。

選択肢2の「同じ言葉」、選択肢3の「再帰を使わない」、選択肢4の「役割が逆」はどれも誤りだよ。

選択肢判定理由
1再帰=手段・分割統治=方針
2同じ言葉ではない
3再帰で実現することが多い
4手段と方針が逆

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る