【あるごりずむ】

アルゴリズム とは?

💡 問題を解く「手順書」
📌 このページのポイント
アルゴリズムの基本概念(偶数・奇数判定) 入力: 数値N N ÷ 2 の余りを求める 余り = 0 ? はい いいえ 出力:「偶数」 出力:「奇数」 例: N=13 → 13÷2=6 余り1 → 余り≠0 →「奇数」 例: N=8 → 8÷2=4 余り0 → 余り=0 →「偶数」
アルゴリズムのイメージ(フローチャート)
ひよこ ひよこ

アルゴリズムって具体的に何?

ペンギン先生 ペンギン先生

例えば「1000人の名簿から田中さんを探す」場合。①先頭から順番に見る(線形探索:最悪1000回)、②名前順に並べてから真ん中で二分割して探す(二分探索:最大10回)。同じ問題でも手順が違うと効率が100倍違う。この「効率的な手順」を考えるのがアルゴリズムだよ

ひよこ ひよこ

O記法って何?

ペンギン先生 ペンギン先生

アルゴリズムの「最悪時の効率」を表す指標だよ。O(1)は定数時間(データ量に関わらず一瞬)、O(log n)は対数時間(二分探索)、O(n)は線形時間(全件走査)、O(n²)は二乗時間(二重ループ)。n=100万のときO(n)は100万回、O(n²)は1兆回。この差が実務でのパフォーマンス問題に直結するんだ

ひよこ ひよこ

実務でアルゴリズムは必要?

ペンギン先生 ペンギン先生

日常の業務コードでソートアルゴリズムを自分で書くことは少ないけど、「この処理はO(n²)だからデータが増えると遅くなる」と判断できるかどうかで開発者の質が変わる。適切なデータ構造の選択(配列 vs ハッシュマップ vs ツリー)にもアルゴリズムの知識が不可欠だよ

ひよこ ひよこ

IPA試験でのポイントは?

ペンギン先生 ペンギン先生

①ソート(バブル、選択、挿入、クイックマージ)の特徴と計算量、②探索(線形探索、二分探索、ハッシュ探索)、③グラフ(ダイクストラ法、幅優先、深さ優先)、④再帰(フィボナッチ、ハノイの塔)。特にクイックソート(平均O(n log n))と二分探索(O(log n))はほぼ毎回出題されるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アルゴリズム」って出てきたら「問題を解くための手順・計算方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Algorithm」 = アルゴリズム
💬 9世紀のペルシャの数学者アル・フワーリズミーの名前が語源だよ
← 用語集にもどる