今回は、アルゴリズムの評価軸である計算量、そしてよく使われるオーダー記法についてまとめていきます。アルゴリズムというワードはよく聞くことが多いと思いますが、以下のように定義されていることが多いようです。要は、問題を解くために、普通のプログラムのように任意の数の命令でかけて、無限ループしたり間違った答えを出さないものという感じの定義になります。例に出されるのが、任意の要素を持つリストをソートするといったアルゴリズムがあると思います。有限時間で期待したソート順を返すのが、ソーティングアルゴリズムということが言えそうです。上記でアルゴリズムとはどんなものかを述べましたが、実際にプログラムを書くときには数種類のアルゴリズムからひとつを選んで実装するということになると思います。アルゴリズムが任意の入力に対して正しい答えをだすという前提の上で、アルゴリズムを比較したいとなったときには、アルゴリズムの計算時間が少ない方が優れたアルゴリズムであると言えます。実際の計算時間は実行されるハードウェアの影響などを受けるので、抽象化して単純化した指標が計算量となります。アルゴリズムの計算量は一般的に、入力データ数に比例することが多いです。関数として表現することができます。具体例として、入力データ数と同じ回数だけの計算回数がかかるアルゴリズムがあるとします。あらわすことができそうです。ように表すことができます。他にも以下のように様々なケースが考えらるでしょう。