データ構造内のバイナリツリーのインオーダー、ポストオーダー、およびプリオーダートラバーサルの時間の複雑さは何ですか?それはO(n)かO(log n)かO(n^2)か?バイナリツリートラバーサルの複雑さ
14
A
答えて
14
O(n)
です。これは、各ノードを1回トラバースするためです。むしろ、各ノードの作業量は一定です(残りのノードに依存しません)。
4
TravesalはどのノードでもO(n)です。なぜなら、あなたは各ノードに一度ヒットしているからです。ルックアップは、ツリーが何らかの整理スキーマ(バイナリ検索ツリー)を持っている場合に、O(n)よりも小さくなる可能性のある場所です。
5
O(n)と言います。 私はバランスの取れた木のためにやっています、すべての木に適用可能です。
T(N)= 2 * T(N/2)+ 1 ---------->(1)
T(N/2)、あなたが再帰を使用すると仮定すると 右サブツリーではT(n/2)、ベースケースでは「1」である。
簡略化では、(1)あなたはトラバーサル(inorderまたはpreorderまたはpost order)がオーダーO(n)であることを証明できます。
27
In-Order、Pre-Order、およびPost-Orderトラバーサルは、Depth-Firstトラバーサルです。
グラフの場合、Depth First Traversalの複雑さはO(n + m)です.nはノードの数、mはエッジの数です。
バイナリツリーもグラフなので、ここでも同じことが適用されます。 これらの深さ優先トラバーサルの複雑さはO(n + m)です。
バイナリツリーの場合、ノードから発信できるエッジの数は2に制限されるため、バイナリツリーの最大エッジ数はn-1です。ここでnはノードの総数です。
複雑さはO(n + n-1)になります。これはO(n)です。
関連する問題
- 1. コードフラグメントの複雑さ
- 2. マルチステージグラフの複雑さ
- 3. ハッシュテーブルの複雑さ
- 4. コンパニオンマトリックスの複雑さ
- 5. バブルソートの複雑さ
- 6. アルゴリズムの複雑さ
- 7. RandomAccessFile Java - 複雑さ
- 8. 複雑さ(ビッグO)
- 9. Pythonのパーサーの複雑さ
- 10. HashSetのルックアップの複雑さ?
- 11. haskellクイックソートの複雑さ?
- 12. JQueryサイクルの複雑さ
- 13. set :: insertの複雑さ
- 14. SQL `LIKE`の複雑さ
- 15. アルゴリズムの複雑さ - エクササイズ
- 16. fooアルゴリズムの複雑さ
- 17. Dijkstraのアルゴリズム - 複雑さ
- 18. heapsort - 実装の複雑さ
- 19. javascriptの長さの複雑さ.length
- 20. ポインタの複雑さのベクトルのソート
- 21. この関数のアルゴリズムの複雑さ
- 22. fun()の時間の複雑さ?
- 23. 次のアルゴリズムの複雑さは?
- 24. f(n)コストでのアルゴリズムの複雑さ
- 25. リニアSVMのトレーニングの複雑さ
- 26. グラフ::削除の収縮の複雑さ?
- 27. Java ArrayListのコンストラクタの複雑さ
- 28. バブルソートの複雑さの分析
- 29. リンクリストのアルゴリズム複雑さの分析
- 30. 入力のエンコーディング(時間の複雑さ)
どのデータ構造ですか?木?どんな種類の木? –
この質問はhttp://cstheory.stackexchange.com/に帰属します。 –
@CommanderZ - 毛を分割しないでください。 –