アルゴリズム(algorithm)とは何なのでしょうか? 例えば、 Wikipediaにはこうあります。 アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。 「問題を解くための手順を定式化した」とは、ソフトウェアエンジニアにとって「プログラミング」のことです。 みなさんも日々の開発業務において、問題(要件)を解くための手順を考え、その手順を特定のプログラミング言語で表現していませんか? アルゴリズムは、一般に「ソート(整列)」や「探索」といった特定の処理について使われることが多い言葉ですが、 広義においてはプログラミングされた成果物そのものと考えられるわけです。 つまり、アルゴリズムを知っていることは、プログラムを知っていることなのです。 プログラムの性能を改善し、開発スピードを向上させるために プログ