自分用にアルゴリズムについて簡単にまとめました。
アルゴリズムとは?
-
アルゴリズムとは、簡単に言えば「作業手順」。 特定の課題を解決したり、特定の目的を達成したりするための計算手順や処理手順がアルゴリズムである。 その手順に沿っていれば、誰がやっても同じ答え(結果)を出せるのがアルゴリズムの特徴。
-
代表的なアルゴリズムに「ソート」がある。また、ソートとはバラバラに並んだ整数などを昇順や降順に並べ直す処理のこと。
下記は、「ソートアルゴリズムで代表的なもの」
1 バブルソート
2 クイックソート
3 マージソート
4 選択ソート
5 挿入ソート
6 ヒープソート
1. バブルソートとは?
→ バブルソートは、データ列の隣り合う要素を比較し交換することを繰り返すことによりデータ列をソートする手法。 バブルとは「泡」の意味で、ソートの過程でデータが移動する様子が、水中で泡が浮かんでいくように見えることからこの名前がついている。
2. クイックソートとは?
→ 大半の状況下で最速となるソートアルゴリズム。 「不安定」な「内部」ソート。 いわゆる、分割統治法的な考え方に基づいて、 大まかにソート → 配列を2つに分割という処理を再帰的に繰り返しする。
3. マージソートとは?
→ マージソートとは、整列対象のデータを2分割していく操作を繰り返し、要素数が1になるまで細分化、そして細分化した要素同士を整列しながら戻していく手法。
4. 選択ソートとは?
→ 選択ソートとは対象となるデータの中から最小値(もしくは最大値)を探し先頭の値と交換、この作業を繰り返すことで全体を整列させていく手法。
5. 挿入ソートとは?
→ 挿入ソートは、データ列を「整列済み」と「未整列」の2つに分け、 「未整列な配列」からデータを1つ取り出し、「整列済み配列」の適切な位置に挿入する ことを繰り返す手法。
6. ヒープソートとは?
→ ヒープソートとは未整列のデータを「ヒープ」の性質を持つ木構造の構成にして、そこから最大値または最小値を取り出して整列、これを繰り返すことで全体を整列させる手法。