アルゴリズムを評価するために使用される漸近複雑度(Big-O記法)以外のほとんどのコンセプトは何ですか?漸近式(Big-O表記)以外のアルゴリズムの複雑さ
例:
Iは、複雑さO(1)と、FUNC、関数を呼び出し、以下のアルゴリズムを持っていると仮定すると。このアルゴリズムは、複雑さO(N1×N2)を有する。しかし、N1が制限されていることを事前に知っていれば、最悪の場合の複雑さはO(N2×5)であり、O(N2)も定義になります。場合
for i in range(N1):
for j in range(N2):
func(i,j)
Iは、複雑さO(1)で再度、関数func2のを使用して、このアルゴリズムの異なる実装に出くわすが、今異なるアウターループ範囲、N3を使用することができます。このアルゴリズムはO(N3×N2)であると予想される。しかし、N3の範囲が[10,50]であることが分かっていれば、最悪の場合の複雑さはO(50×N2)となり、再びO(N2)となります。
for i in range(N3):
for j in range(N2):
func2(i,j)
質問:
だから、これは漸近記法は便利ですが、おそらくいくつかのより具体的な例に最適な比較方法ではないことを証明するのは簡単です。これらの2つのアルゴリズムを比較するにはどうすればよいですか?最も一般的に採用されている方法は何ですか?アルゴリズムに必要な反復の数だけを厳密に厳密なメトリックで使用していますか?
推奨される参考資料はありますか?
私は完全にあなたに同意します。あなたは特定の参考文献を持っていますか? – rkioji
クヌスの著作は始めるのが一番ですか?彼はこれらの面の多くを議論します... –