マージソート
読み:マージソート
外語:merge sort

 ソートアルゴリズムの一つ。
 すでにソート済みの2つの数列を掛け合わせて新しい1つのソート済み数列を作るという動作を繰り返すことにより実現するソート。
 A={2,5,9,11} B={3,5,6,10}という2つのソート済みの数列があるとする。このとき、一番最初の数値(Aは2、Bは3)を比較し、小さいほうである2を取り出し、新しい数列Cに入れる。以下Bの3、Aの5、Bの5、Bの6、Aの9、Bの10、Aの11と取り出していき、数列CはC={2,3,5,5,6,9,10,11}となる。この操作をマージといい、この動作を繰り返すことによってソートができるのである。
 最悪計算量がO(n log n)のソートの中では唯一の安定ソートである。しかし、作業領域が必要なため巨大なデータをソートするには適していない。
マージソートの途中経過
5 | 8 | 6 | 1 | 7 | 11 | 5 | 3    初期状態
5   8 | 1   6 | 7   11 | 3   5    1回目のマージ操作
1   5   6   8 | 3   5   7   11    2回目のマージ操作
1   3   5   5   6   7   8   11    3回目のマージ操作

再検索