すべてのn、O(1)がO(n)より速い場合、O(1)アルゴリズムよりもO(n)アルゴリズムを選択する場合の例すべてのn、O(1)がO(n)よりも速い場合、O(1)上でO(n)を選択しますか?
答えて
1つの例は、 O(n)はそうではないのに、たくさんの記憶があります。パフォーマンスに比べてメモリが重要です。
(_Please_関数の漸近的な振る舞いの表記に注意してください_small o_は_argumentが厳密により大きい_を意味します - o(1)のアルゴリズムは厳密に一定時間内に終了する必要があります)アルゴリズムはO(1)メモリにのみ触れることができます。あなたの推論は、O(n)以上のO(n²)に対して有効です。 – greybeard
@greybeard、私はあなたの意見を理解していますが、私はこの答えが有効だと思います。両方のアルゴリズムがO(1)メモリを使用すると仮定します。しかし、o(n)は1バイトを使用し、o(1)アルゴリズムは1000バイトを使用します。 – Arashsoft
@greybeardが「big-O」(https:// en)の代わりに[little-o](https://en.wikipedia.org/wiki/Big_O_notation#Related_asymptotic_notations)を使用している、 .wikipedia.org/wiki/Big_O_notation)。彼らは同じものではありません。 –
多くの場合、実際のデータは、時間の複雑さがより悪いアルゴリズムに役立ちます。たとえば、ほぼソートされたデータでは、O(n^2)時間で実行されるバブルソートが高速になることがよくあります。多くの場合、一定の要因によってアルゴリズムが遅すぎて実用的にならないことがあります。 big-Oは、即時ではなく、制限内でより効率的なものを扱うことを忘れないでください。定数が10000000のO(1)アルゴリズムは、nの定数係数が1のO(n)アルゴリズムよりも大幅に遅くなります。< 10000000の場合
- 1. O(log n)は常にO(n)よりも速いですか
- 2. ListBox.FindString最悪の場合のランタイムは何ですか? O(n)、O(n log n)、O(1)?
- 3. O(1)、O(n log n)、O(log n)の複雑さを持つアルゴリズムの例
- 4. O(n)vs O(n^2)
- 5. O(N)Oまで(LOGN)
- 6. C++ステートメントのBig-O 'delete [] Q;' O(1)またはO(n)?
- 7. バイナリ検索はO(log n)かO(n log n)ですか?
- 8. O(n)
- 9. O(N)速度とO(1)メモリのハミング番号
- 10. (1/2)^ nのBig Oクラス
- 11. O(n)とO(log(n))の違い - これはより良く、O(log(n))は正確に何ですか?
- 12. O(m + n)かO(mlgn)が良いか
- 13. T(n)= 2T(n/2)+ O(n)からO(nlogn)を得る方法
- 14. O(n^2 * log(n))とO(n^3)どちらが大きいですか?
- 15. Javaコレクション:TreeMap.size()およびTreeSet.size():O(1)またはO(n)?
- 16. なぜO(n * logn)ではなくTreeSet Iteration O(n)ですか?
- 17. 複雑さO(log(n))はO(sqrt(n))と等価ですか?
- 18. O(n)ソートアルゴリズム
- 19. O(n)からO(1)へのdeque移動の改善
- 20. haskellの長さランタイムO(1)またはO(n)
- 21. 漸近分析では、 - O(f(n)+ g(n))= O(max {f(n)、g(n)})
- 22. mergesortの複雑さO(nlogn)+ O(n)?
- 23. f(n)= 1000n + 4500lgn + 54n O(n)ですか?
- 24. log(n!)= O((log(n))^ 2)ですか?
- 25. ログ(O(n * log(n)))は何ですか?
- 26. O(n個のログを記録!)とO((nはログ)!)
- 27. 防止O(N)クエリ
- 28. 証明Θ(n)+ O(n^2)≠Θ(n^2)
- 29. なぜこのO(n^2)ソリューションはO(n)ソリューションより速く動作するのですか?
- 30. ハッシュテーブル操作の時間複雑度はO(1)またはO(N)ですか?
はい、そうです。 – jonrsharpe