2026.01.31アルゴリズム #2TECH BLOG

アルゴリズム #2|データを並べる・探すための考え方

前回の記事では、アルゴリズムの基本的な考え方について紹介しました。

今回はその続きとして、
データを「並べる」データを「探す」ときに使われる代表的なアルゴリズムを見ていきます。

どれもプログラミングの基礎としてよく登場する重要な考え方です。


データの整列(ソート)とは?

データの整列(ソート)とは、
データを一定のルール(昇順・降順など)で並べ替えることです。

例えば、次のような並びを考えてみます。

4 / 1 / 3 / 2

これを小さい順に並べると、

1 / 2 / 3 / 4

になります。


基本交換法(バブルソート)

基本交換法は、隣り合うデータを比較し、順番が逆であれば交換する方法です。

考え方のポイント

  • 左から順にデータを比較する
  • 大きい値があれば、少しずつ右へ移動していく
  • 繰り返すことで、最終的に正しい順番になる

水の中の泡が上に浮かび上がる様子に似ているため、
バブルソートとも呼ばれます。

仕組みは分かりやすいですが、
データ量が多いと処理回数が増えやすいのが特徴です。


基本選択法(選択ソート)

基本選択法は、
データの中から最小値(または最大値)を選んで、先頭と交換する方法です。

考え方のポイント

  • まだ並んでいない範囲から最小値を探す
  • 見つけた最小値を、先頭のデータと交換する
  • 次の位置に進んで同じことを繰り返す

「一番小さいものを探して前に持ってくる」
という考え方なので、理解しやすいアルゴリズムです。


基本挿入法(挿入ソート)

基本挿入法は、
すでに並んでいるデータの中に、新しいデータを正しい位置へ挿入する方法です。

考え方のポイント

  • 左側はすでに整列されていると考える
  • 新しいデータを、正しい位置まで移動させる
  • トランプを並べ替える感覚に近い

少ないデータや、
ほぼ整列済みのデータに対しては効率が良い方法です。


データの探索とは?

データの探索とは、
目的のデータがどこにあるかを探す処理のことです。

「この数字は配列の中に存在するか?」
「どの位置にあるか?」
といった処理で使われます。


線形探索法(逐次探索法)

線形探索法は、
先頭から順番にデータを1つずつ確認していく方法です。

考え方のポイント

  • 最初のデータから順に比較する
  • 見つかるまで、または最後まで調べる
  • 並び順が決まっていなくても使える

シンプルで分かりやすい反面、
データが多いと時間がかかりやすいのが特徴です。


番兵法

番兵法は、
線形探索法を少し効率よくするための工夫です。

探索したいデータを、あらかじめ配列の最後に追加しておくことで、
「配列の終わりかどうか」の判定を減らします。

処理内容はほぼ同じですが、
条件チェックの回数を減らせるというメリットがあります。


2分探索法(二分探索)

2分探索法は、
データがあらかじめ整列されている場合に使える高速な探索方法です。

考え方のポイント

  • 中央のデータと比較する
  • 小さければ左側、大きければ右側を見る
  • 探索範囲を半分ずつ狭めていく

ただし、整列されていないデータでは使えない点に注意が必要です。


まとめ

今回は、データを扱う代表的なアルゴリズムを紹介しました。

  • データを並べる方法
  • データを探す方法

次回は、これらのアルゴリズムを
フローチャートとして可視化する方法を解説していきます。