IT用語帳

分割統治法

Divide and Conquer

ぶんかつとうちほう

問題を小さな部分問題に分割し、各部分問題を再帰的に解いた後、結果を統合して全体の解を得る設計手法。マージソート、クイックソート、二分探索、FFTなどの基盤となるアルゴリズム設計パラダイム。
アルゴリズムとプログラミング > アルゴリズム

関連キーワードの用語

AP動的計画法

最適化問題を部分問題に分割し、各部分問題の最適解を記憶して再利用することで全体の最適解を効率的に求める手法。ナップサック問題や最短経路問題などに適用され、メモ化再帰やボトムアップ方式で実装される。

AP計算量

アルゴリズムの実行に必要な時間や空間の量をオーダー記号O(n)で表現したもの。時間計算量と領域計算量があり、入力サイズnに対する増加傾向でアルゴリズムの効率を評価する。O(1)<O(log n)<O(n)<O(n log n)<O(n^2)<O(2^n)の順に計算量が大きい。

APクイックソート

ピボット要素を選び、それより小さい要素と大きい要素に分割して再帰的に整列するアルゴリズム。平均計算量はO(n log n)だが最悪はO(n^2)。実用的には最速のソートアルゴリズムの一つで、多くの言語の標準ライブラリで採用。

APマージソート

データを半分に分割して再帰的に整列し、整列済みの部分列を統合(マージ)するアルゴリズム。計算量は常にO(n log n)で安定しており、安定ソート(同値要素の順序を保持)。外部ソートにも適用可能だが、O(n)の追加メモリが必要。

APヒープソート

ヒープ構造を利用したソートアルゴリズム。データからヒープを構築し、最大(最小)要素を繰り返し取り出して整列する。計算量は常にO(n log n)で追加メモリがO(1)だが、キャッシュ効率がクイックソートより劣る。

AP2分探索法

整列済みデータの中央要素と目標値を比較し、探索範囲を半分に絞り込む操作を繰り返す探索アルゴリズム。計算量はO(log n)。データが整列されている前提が必要で、配列に対して適用される。