O(log n)vs O(n)が指数関数である場合、O(1)vs O(n)は何ですか?


7

1を使用してを参照している場合はO(log n)代わりのO(n)指数高速化などのアルゴリズムを、どのようにして使用することにより得られる高速化参照することになりO(1)対アルゴリズムをO(n)

回答:


4

その名前はありませんが、最も近いのは「無限」の高速化です。 Oログ 指数関数的なスピードアップと見なされます O、なぜなら 指数関数的です ログ:指数関数を取る場合 f=2、 我々が得る fログ=2ログ=

しかしながら、 何も入っていない 1:回復する方法はありません から 1、関数がどれほど速くても f 私たちが取ることは成長し、 f1 常に定数になります(決して等しくなることはありません) )。なので1 より無限に小さくなる


-1

あなたの混乱は、「指数」という言葉の技術的な意味に関連しているようです。
定義はhttp://www.learnersdictionary.comに記載されているため、次のように定義されます。

指数関数的成長とは、文字通り、継続するにつれてますます速くなる成長です。ただし、通常の使用では、指数関数は、成長や増加などの単語で使用される場合、単に「非常に速い」ことを意味すると理解されています。


ここで、n = 256(簡略化のために2の累乗)の例を考えてみましょう。n = 256の場合、\ log_2 n = 8になります。これは、ログ関数のため、「指数関数的」高速化です。
O(1)に関する限り、一般的に\ log_n n = 1であることを理解する必要があります。そうは言っても、O(1)も理想的な「指数関数的な」高速化になります。
これにより状況が明確になることを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.