アルゴリズム
更新日:
用語解説
アルゴリズムは、与えられた入力から目的の出力を得るための、曖昧でない有限個の処理手順です。正しさだけでなく、停止性、時間計算量、空間計算量、適用条件を評価します。
■ 試験で押さえるポイント
同じ問題でも線形探索、二分探索、各種整列など複数の手順があり、入力規模nに対する処理回数をO記法で比較します。
二分探索は整列済み配列を半分ずつ絞るためO(log n)ですが、未整列データへそのまま適用できません。前提条件もアルゴリズムの一部です。
擬似言語、流れ図、決定表などで実装言語に依存せず表現し、全入力に対する正当性と境界・例外条件を検証してからコード化します。
時間を短くするためメモリを多く使うなどトレードオフがあり、最悪・平均計算量、データ特性、実装容易性を目的に応じて選びます。
■ 選択肢での判断ポイント
有限回で終了する明確な手順と計算量が要点です。特定言語で書かれたプログラムそのものではなく、その背後にある解法です。
例: 要素数1,024の整列済み配列を二分探索すると、探索範囲を1,024→512→…→1と半減でき、最大比較回数は概ねlog2(1,024)=10回です。
音声で聞く
この用語に関連する過去問
基本情報技術者試験 サンプル問題 科目A 問17
媒体選択アルゴリズムによる領域割当て
基本情報技術者試験 サンプル問題 科目A 問6
配列の回転処理
令和4年度 基本情報技術者試験 科目B サンプル問題 問4
最大公約数を求めるプログラム
令和4年度 基本情報技術者試験 科目B サンプル問題 問2
FizzBuzz問題の条件分岐
令和4年度 基本情報技術者試験 科目B サンプル問題 問1
プログラムの出力結果
令和5年度 公開問題 基本情報技術者試験 科目B 問5
コサイン類似度の計算アルゴリズム
令和5年度 公開問題 基本情報技術者試験 科目B 問3
クイックソートアルゴリズムのトレース
令和5年度 公開問題 基本情報技術者試験 科目B 問1
素数判定プログラムのトレース
令和6年度 公開問題 基本情報技術者試験 科目B 問1
最大値を返す関数のトレース
令和7年度 基本情報技術者試験 科目B 問2
硬貨の組合せ計算アルゴリズム
令和7年度 基本情報技術者試験 科目B 問1
プログラムの最適化とループ条件
令和7年度 基本情報技術者試験 科目A 問9
暗号の危殆化