逐次決定法

(簡単な)概要的な何か

ソートとはつまり,データを何かしらの手法を使って並び替えること.
データ並び替えの手法(ソートアルゴリズム)が,先人たちの知恵により,いくつも提案されている.今回は数あるソートアルゴリズムの中でも,【逐次決定法】について,個人的なメモがてら記載する.
逐次決定法についてはこちらなどに書かれているが,要は

  • 配列の0番目と1番目を比べ,小さい方を0番目に入れる(入れ替え)
  • 配列の0番目と2番目を比べ,小さい方を0番目に入れる(入れ替え)
    ………
    <上記処理を繰り返すことにより,配列の0番目に1番小さい数が入る>
  • 配列の1番目と2番目を比べ,小さい方を1番目に入れる(入れ替え)
  • 配列の1番目と3番目を比べ,小さい方を1番目に入れる(入れ替え)
    ……
    <上記処理を繰り返すことにより,配列の1番目に2番目に小さい数が入る>
  • ……

という処理を繰り返すことで,最終的にデータを並び替えることができる,という感じ.
今回は,この逐次決定法のプログラムをJavaで実装した.
Javaでなくて,C言語などでもよかったが,Javaに慣れるという意味で,今回はJavaで実装した.実装した内容については,今回の記事に掲載すると長くなってしまうので,また後日にでも.

参考文献

内部整列(ソート)の逐次決定法(基本選択法
http://mysqldb.web.fc2.com/etc/tikujiketteihou.html