アルゴリズム
あるごりずむ
ひとことで言うと
問題を解決するための手順・計算方法を明確に定義した有限のステップからなる処理手続き。
解説
問題を解決するための手順や計算方法を明確に定義したもの。有限のステップで入力から出力を得る処理の手続きを示す。探索、ソート、暗号化など様々な目的のアルゴリズムがあり、処理効率(計算量)の評価が重要である。
くわしく解説
アルゴリズムとは、ある問題を解くための手順を有限のステップで明確に記述したものであり、同じ入力に対して常に同じ出力を返す決定論的な性質を持つ。良いアルゴリズムの条件として、有限性(有限ステップで終了する)、確定性(各ステップが明確で曖昧さがない)、入力・出力の明確性、効率性(計算量が小さい)が挙げられる。代表的なアルゴリズムとして、データの中から目的の値を探す探索(線形探索・二分探索)、データを順序通りに並べるソート(バブルソート・クイックソート・マージソートなど)がある。計算量はO記法(ビッグオー記法)で表現され、データ量nに対するステップ数の増加率を示す。アルゴリズムをフローチャートや擬似コードで表現する能力も試験で問われる。
具体例で考えよう
100人の社員名簿から特定の社員を探す場合、先頭から順番に探す線形探索はO(n)の計算量であるのに対し、名前順に並んだリストで中央から半分ずつ絞り込む二分探索はO(log n)と高速に検索できる。
試験対策ポイント
代表的ソートアルゴリズムの計算量(バブルソートO(n²)・クイックソートO(n log n))の比較が頻出。フローチャートの記号(処理・判断・端子)、再帰アルゴリズムの概念も出題範囲。