ねえねえ、クラス名簿から気になる男の子の名前を探すときって、どうする?
上から順に見る?それとも何かコツ、ある?
実はこういう「探し方」や「並び替え方」には、ちゃんとしたアルゴリズムがあるんだよ〜!
この記事では、探索(サーチ)と 整列(ソート)の基本を、
図や例をまじえていっしょに見ていこうね!
探索とは?|線形探索法と2分探索法の違い

探索って?
たくさんあるデータの中から、目的のものを探すこと。
たとえば名簿から好きな人の名前を探したり、
フォルダの中から好きな画像を探したりするのも「探索」だよ!
線形探索(せんけいたんさく)
順番にひとつずつ見ていく方法。
たとえば、アルファベット順に並んでない名簿を上から全部読む感じ!
2分探索(にぶんたんさく)
データがすでに整列されている場合にだけ使える「超効率的な探し方」なの!
やり方はこう:
- 真ん中の人を見る
- 探してる名前より前か後かを判定
- 半分にしぼって再び真ん中を見る…
…と、どんどん範囲を絞っていくよ!

こんな感じだよ~!
整列(ソート)とは?|バブル・選択・クイック
整列(ソート)って?
「データを決まった順番に並び替えること」だよ。
など、いろんな基準で整えるよ!
選択ソート
小さい順に並べたいとき、一番小さいものを見つけて左端に置く → 残りからまた一番小さいものを探して次に…というやり方。
「全員の中から一番イケメンを選ぶ→残りからまた選ぶ→…」みたいな感じ?💓
バブルソート

となり同士を比べて、順番が逆なら入れ替える、っていうのを何回も繰り返す方法。
「5と3、あ、逆だ!→入れ替えっ」って感じで、
“泡(バブル)”が上がるように一番大きい数字が最後にポンっと浮いてくるイメージ!
クイックソート

これは一番頭のいい子!
真ん中くらいの「基準(ピボット)」を選んで、
小さいグループと大きいグループに分けて、
その中でまた同じことを繰り返すよ。
比較まとめ|それぞれの向き・不向きは?
種類 | 特徴 | 向いている場面 | 注意点 |
---|---|---|---|
線形探索 | 順番に全部調べる | 少量のデータ/順番が決まってない時 | 遅い |
2分探索 | 真ん中からしぼっていく | データがソート済みのとき | 並び順が必要 |
選択ソート | 毎回「最小」を探して左に寄せる | データ数が少ない時 | 効率はあまりよくない |
バブルソート | 隣と比べて入れ替えを繰り返す | 小テストや練習には○ | とにかく遅い |
クイックソート | ピボットを使って分割しながら並べる | 大量データ/スピードが欲しい時 | 実装ちょっと複雑 |
データ型に関するITパスポート過去問チャレンジ!
配列に格納されているデータを探索するときの、探索アルゴリズムに関する記述のうち、適切なものはどれか。
ア. 2分探索法は、探索対象となる配列の先頭の要素から順に探索する。
イ. 線形探索法で探索するのに必要な計算量は、探索対象となる配列の要素数に比例する。
ウ. 線形探索法を用いるためには、探索対象となる配列の昇順や降順にソートされている必要がある。
エ. 探索対象となる配列が同一であれば、探索に必要な計算量は探索する値によらず、2分探索法が線形探索法よりも少ない。
正解は『イ』だよ!
線形探索法は先頭から順に順番を追って探すため、最悪ケースでは全要素を調べる O(n) の計算量になるため、要素数に比例する探索時間となるよ。
ITパスポート試験をスマホで手軽に勉強!
「えろ勉」も戦略的に開発&運営してるよ~!この記事が勉強になったり、ためになったよ〜って思ったら、なんかアクションをお願い!!「えろの力で勉強するゲーム:えろ勉」
もし私が整列できないくらい混乱してたら、
きみがそっとピボットになって、助けてくれる…?🥹
