私はCoding InterviewのCrackingの例を実行していましたが、System.out.println(prefix);
(接頭辞はString)は、各文字を印刷する必要があるため、「O(n)時間かかる」と読んでいます。 O(1)アルゴリズム(例えばハッシュテーブルルックアップなど)の中に同様のprint文が置かれていれば、それはアルゴリズム全体をO(n)にするでしょうか?文字列の印刷は実際にはO(n)かかりますか?
答えて
アルゴリズムのbig-Oの複雑さを記述するときは、式の変数が表すものを定義することが重要です。しばしばいくつかのことがあります!たとえば、バイナリツリー内の整数を検索すると、そのノードに関連付けられた文字列を印刷すると、O(m + log n)
となります。n
はツリー内のオブジェクトの数、m
は文字列の長さです。
複数の異なる要素(ハッシュテーブルの要素数とそのサイズなど)を表すために1つの変数を使用すると、常にエラーが発生します。その結果、明らかに不合理な結果が生じます(例:ハッシュテーブルルックアップはO(n)
です)。
"たとえば、バイナリツリーで文字列を検索すると、文字列の比較には" O(m + log n) '" - または 'O(m * log(n))'あなたのBSTが特に特殊化されていない限り、後のスピードを上げるために以前の比較を利用するための特別なメタデータや特殊な検索コードはないでしょう。 – user2357112
@ user2357112おそらく、それは最良の例ではありませんでした!あいまいさを取り除くために調整しました。 – duskwuff
- 1. 実際には、リンクリスト追加O(N)またはO(1)ですか?
- 2. 文字列の並べ替えはO(n^2logn)ですか?
- 3. リバース文字列を文字列で印刷しますか?
- 4. この文字列は何回印刷されますか?
- 5. O(log n)は常にO(n)よりも速いですか
- 6. Pythonは印刷文字列からデータを分割します
- 7. (void *)文字列から単語を印刷するには
- 8. 文字列をスペースで区切らずに文字列で印刷する方法はありますか?
- 9. 印刷文字列
- 10. 文字列をリストに変換するには、文字列 '\ n \ n \ n \ n \ n'で分割しますか?
- 11. バイナリ検索はO(log n)かO(n log n)ですか?
- 12. 短い文字列から文字が印刷された後、2つの文字列から一度に1文字ずつ印刷を停止します。
- 13. 文字列の始まりを印刷する方法は?
- 14. 文字列全体ではなく一部の文字を印刷する機能はありますか?
- 15. OCamlに文字列を印刷する際の問題
- 16. 文字列内の末尾のスペースをセルに印刷する際に、この文字列を保持する方法はありますか?
- 17. O(n)とO(log(n))の違い - これはより良く、O(log(n))は正確に何ですか?
- 18. 'n'行のジグザグ文字列の印刷連結
- 19. 文字列の印刷
- 20. 印刷文字列の逆
- 21. 文字列の印刷(アセンブリ)
- 22. Python:印刷中に文字列を '\ n'で保持する方法は?
- 23. 文字列から「\ n」を削除しますが、実際の改行は残しておきますか?
- 24. json文字列はどのように印刷できますか?
- 25. かなり印刷ブースト:: MPL ::文字列GDB
- 26. Pythonの文字列から印刷できない文字を取り除く?
- 27. (文字列* n)操作の単語間のスペースを印刷する方法は?
- 28. 文字列をそのままPythonで印刷するには
- 29. 大きな文字列を印刷する際のトラブルシューティングC++
- 30. O(n)未満の文字列で文字を検索する
「n」とは何ですか?あなたはこれを解決するために 'n 'が何であるかを詳しく追跡する必要があります。 – user2357112
@ user2357112 https://en.wikipedia.org/wiki/Big_O_notation#Use_in_computer_science –
@НЛО私はuser2357112は、この場合は 'n' **と言っています。私は詳しく説明します。 :) – duskwuff