アルゴリズム入門

マージソート

マージソートは、リスト(ArrayListなど)を分割していき、分割された要素をマージ(結合)していく事でソートを行うアルゴリズムです。 リストの要素はバラバラに分割されますが、バラバラになった要素は隣同士を大小比較しながら結合(マージ)します。 す…

バブルソート

バブルソート(Bubble Sort)は隣り合った2つの要素を比較し順序を入れ替えるという処理を繰り返すことでソートを実現するアルゴリズムです。 その名の通り、泡のように大きな(小さな)要素が上に浮いてくるようなイメージとなります。 聞いただけでは「ど…

選択ソート

選択ソート(Selection Sort)も基本的なソートアルゴリズムです。 挿入ソート(Insertion Sort)では、無作為に1要素づつ選び出し、適当な場所に挿入していく手順を踏みました。 これに対して選択ソートでは、最も小さい(大きい)要素から順に選び出し、…

挿入ソート

挿入ソート(Insertion Sort)は最も基本的なソートアルゴリズムです。我々の普段の生活の中でも馴染み深いアルゴリズムで、トランプの手札の整列や麻雀の牌を整列をする時に自然と行っています。 我々の行う挿入ソートでは要素を1つづつ適切な位置に挿入し…

線形検索

線形検索(Linear Search)は最も基本的な検索アルゴリズムで、目的のデータを探す為に集合から要素を1つづつ取り出し比較していく手順を踏みます。線形検索は非常に解りやすく単純です。 しかし、データがたまたま1つ目にあったならば1回で目的のデータ…

アルゴリズム

アルゴリズム(algorithm)とはある目的を実現する為の一連の手順の事です。 アルゴリズム (algorithm) は、なんらかの問題を解くための手順のことである。算法(さんぽう)と訳されることもある。 http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%82%B4%…