計算量の表記について
計算量のO表記はなんとなく理解はしていたが、厳密な定義がわかってなくてもやもやしてたので少しまとめる。
アルゴリズムの実行時間は各々の環境によって変わってくるので、コンピュータが実行する命令の数を実行時間とする。また正確な命令の数を把握するのは困難であるので漸近記法またはビッグオー記法で実行時間を見積もる。それらの記法の定義を以下に示す。
極限の定義とちょっと似ている。ある関数に対してが十分大きいとき、を満たすが存在するならばはに属すると言う。ちょっと複雑な関数が具体的に与えられたとき、この関数を単純化して表したい。そのときにをより単純であろうで表すための記法である。
例えばに属するのは、以下である関数なら何でも良いので定数全部ということになる。
ほかの例としてを考える。このとき
となるのでとすればがの集合に属することがわかる。