O(log n)は正確にはどういう意味ですか?
Big O Notationの実行時間と償却時間について学習しています。私はO(n)線形時間の概念を理解しています。つまり、入力のサイズがアルゴリズムの成長に比例して影響を及ぼします...たとえば、二次時間O(n 2)などでも同じです、階乗によって成長するO(n!)回の置換ジェネレータなど。 たとえば、次の関数はO(n)です。これは、アルゴリズムが入力nに比例して大きくなるためです。 f(int n) { int i; for (i = 0; i < n; ++i) printf("%d", i); } 同様に、ネストされたループがある場合、時間はO(n 2)になります。 しかし、正確にはO(log n)とは何ですか?たとえば、完全な二分木の高さがO(log n)であるとはどういう意味ですか? ログ:私は対数はという意味で、あるもの(そうでないかもしれない非常に詳細で)知っている10 100 = 2を、私は対数時間で機能を特定する方法を理解することはできません。