ある問題を解くための手順を、計算や操作などの組み合わせとして明確に定義したもののことです。
ここでいう「計算や操作など」とは、四則演算(加算・減算・乗算・除算)や分岐、繰り返しといった、単純であいまいさのない処理のことです。これらの処理を組み合わせてプログラムを書くことによって、アルゴリズムはソフトウェアとして実装され、コンピュータに実行させて、問題を解くことができます。
アルゴリズムの定義に従って処理を実行すれば(そのとおりにプログラムを書き、その意図通りに実行されれば)、必ず適切な解が得られます(あるいは解が得られないことがわかる)。
なお、その処理は有限回で終了しなければならない(必ずいつかは停止する)という考え方があり、この考え方に従うのなら、無限ループに陥るなどの理由で停止しないことがある場合は、アルゴリズムとは呼びません。
同じ問題を解くアルゴリズムが複数存在することがあり、必要な計算量、使用するメモリの大きさ、実装の容易さ、得られる解の精度などの面で違いがあります。そのため、実行する環境や問題を解く目的などを踏まえて、適切なアルゴリズムを選択する必要があります。
代表的なアルゴリズムを、アルゴリズムとデータ構造編で取り上げています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |