1次、2次元配列のマージソート方法 [VB]
マージソート
クイックソートよりかなり優れたソート方法です。元のデータの並び方が悪いと、クイックソートの効率はバブルソート並みに悪化します。マージソートはそのようなことが無いので効率よくソートを行うことのできるアルゴリズムです。
大まかな名がとしては以下の手順となります。
- 全体を2分割
- それぞれをさらに2分割
- 全てのブロックが1になるまで繰り返す
- 分割完了したら、隣同士のブロックを整列しながら併合
- さらに隣同士をマージ
- 全体が1つになるまで繰り返す
配列のソートアルゴリズムに関しては、いろいろな場所で紹介されている。ただし1次元配列の場合がほとんどで、2次元配列の場合のサンプルコードは見つけられなかった。
そこで1次および2次元配列のマージソートソフトを作成したので、ここに残しておく。
1次元配列のマージソート
2次元配列のマージソート
注意: 元となる2次元配列ar(x, y)のyの要素数はソートするデータ要素数に+1しておくこと
2013-12-12 00:33
nice!(0)
コメント(0)
トラックバック(0)
コメント 0