私は、インオーダートラバーサルとプリオーダートラバーサルが文字列として与えられたときにバイナリツリーを再構築できますが、インオーダートラバーサルを考えれば?バイナリツリーの他の2つのトラバーサルを1つのトラバーサルが与えられたときに見つける
6
A
答えて
3
いいえ、取寄せ・発注はインオーダートラバーサルからはできません。そうであれば、インオーダートラバーサルだけでバイナリツリーを再構築することは可能ですが、インオーダートラバーサルはいくつかの再構築バイナリツリーを与えることができないため不可能です。
1
あなたの入力はどのように見え、ツリーの目的は?
完全カッコで囲まれた順序付け式を使用している場合は、ユニークツリーがあり、ツリーを構築してツリーからプリオーダーとポストオーダーの用語を作成することによって、プリオーダーとポストオーダーが得られます。
あなたの式が完全な括弧で囲まれていない場合、これはあなたの順番に合った異なるツリー間に違いがないことを示します。例:算術式を表すツリーの場合、x+y+z
は(x+y)+z
とx+(y+z)
と同じです。 これはつまり、あなたが使用するプレオーダーまたはポストオーダーがどちらでも同じであることを意味します。++xyz
と+x+yz
も同じです。
これは問題でなければ、あなたの順序でいくつかの表現を心配する必要はありません。表現の1つを選択してから、このツリーによって誘導された順序の前後を計算します。
関連する問題
- 1. 可能なすべてのバイナリツリーが1回のトラバーサルで与えられる
- 2. 隣接グラフといくつかのトラバーサルが与えられたときに、最もトラバースされたエッジを見つける方法を最適化する
- 3. 与えられたときにyを見つける
- 4. 単一の数字が与えられた他の数字を見つける
- 5. ツリー2つのノードを交換するためのトラバーサル
- 6. jQueryのトラバーサル - 現在の入力に前のラベルを見つける
- 7. 与えられた数のノードとエッジを持つグラフを見つけるアルゴリズム
- 8. 与えられた式の上限を見つけるには
- 9. 与えられたデータの間の一致を見つける
- 10. 与えられた色の近くの色を見つける
- 11. Neo4j 3.1トラバーサルAPI、2つのノード間の最短経路を見つける方法
- 12. 与えられたサブネットのネットワークアドレスを見つける方法は?
- 13. 与えられたコードの複雑さを見つける
- 14. 与えられたコミットのタグ情報を見つける
- 15. 与えられた日付の曜日を見つける
- 16. 与えられたリストのanagramsを見つける方法
- 17. Gnuplot:与えられたx値のy値を見つける
- 18. 与えられたテーブルの子テーブルを見つける方法
- 19. 与えられたPR_SEARCH_KEYを持つすべてのメッセージを見つける
- 20. neo4jは、トラバーサルによる最短n個のパスをインデックスで見つけることができますか?
- 21. 2つの要素を見つけるのでsumは与えられた値と等しい
- 22. ユニークなパスを見つけるための2次元配列の再帰的トラバーサル
- 23. 与えられた2つの座標の間の道路の名前を見つける
- 24. 与えられた線に垂直な点を見つける
- 25. 与えられた数になる列に2つのセルを見つける方法
- 26. 可能1つのリピータに2つのデータソースを与える
- 27. LINQクエリが与えられた二つの日付の間のレコードを見つけるために
- 28. 与えられた列と行のchar配列のインデックスを見つける?
- 29. 3つの数字が与えられた場合、2つは等しいと保証され、異なる数字を見つけます。たとえば
- 30. プロセスIDが与えられたプロセスのすべてのスレッドを見つける
「インオーダ」トラバーサルだけが与えられていれば、多くの異なるバイナリツリーを構築できます。つまり、「インオーダー」のみを使用して「ユニーク」ツリーを記述することはできません。 – Aziz