私は数式(インフィクス)のバイナリツリーを持っていますが、私はこのTREEをポストフィックス(スタック)に直接変換したいです どのボディでもアルゴリズムを提案できますか?バイナリツリーを修正後の数式に変換するアルゴリズムですか?
答えて
何がポスト順序tree traversalとして知られている探している:
postorder(node)
if node.left ≠ null then postorder(node.left)
if node.right ≠ null then postorder(node.right)
print node.value
簡単に、各ノードは(左、右、データ)です。
最初のノードから開始します。右側のサブツリーのアルゴリズムを実行し、右側のサブツリーのアルゴリズムを実行してデータを印刷します。例えば
TreeNode = ([TreeNode], Data, [TreeNode])
TreeToPostfix: [TreeNode] -> Data*
TreeToPostfix(nil) = []
TreeToPostfix((left, data, right)) ==
TreeToPostfix(left) ++ TreeToPostfix(right) ++ Data
:
+
/ \
* -
/\ /\
2 3 4 5
が生成されます2 3 * 4 5 - +
データが常にツリーのローレベルレベルにあるので、アプローチを説明することができます –
この場合のデータは、値とopの両方ですエリータ。私のアルゴリズムはプレフィックスを生成しましたが、postfixに固定されました。 –
thanx Gamecatヘルプについて。 –
- 1. 式をバイナリツリーに変換するアルゴリズム
- 2. 後置式式変換アルゴリズム
- 3. Haskell - バイナリツリーに後置式を変換する
- 4. C++でバイナリツリーをリンクリストに変換する
- 5. スペル修正アルゴリズム
- 6. YUV422からRGBへの変換を正しく修正する
- 7. インフィクスをバイナリツリーに変換する
- 8. 自動修正アルゴリズム
- 9. 壊れたHTMLを修正するアルゴリズム
- 10. バイナリツリーの挿入アルゴリズム
- 11. 数値変換のアルゴリズム?
- 12. 再帰アルゴリズムのためにSegfaultを修正するには
- 13. MVC2ドロップダウンリストの変換エラーを修正するには
- 14. 整数から変換後の10進数の書式
- 15. スクロール修正の最後にdivを修正します
- 16. ワードプレスページウィジェットを修正してプラグインに変換しますか?
- 17. 中置式を後置式に変換する
- 18. Powershell関数を式に変換する
- 19. 数式を個々の変数の式に変換するにはどうすればよいですか?
- 20. このアルゴリズムをTCLで変換する
- 21. バイナリツリーのリーフ数を数える並列アルゴリズム
- 22. キーを変更した後にデータを修正する方法
- 23. 数式を2進数から10進数に変換する
- 24. 位置座標をDD.DDDDD形式からDDMM.MMMMMに変換するアルゴリズム
- 25. グリッチ変換を修正するには:rotateX 3dボタン?
- 26. 不正な式のコンパイルエラーを修正するには?
- 27. 月/年形式を修正するSQL
- 28. WebAudio setTargetAtTime:変換時定数を秒に変換する式
- 29. 数値書式の変数を元の形式に変換する - PHP
- 30. C++整数をboolの配列に変換するアルゴリズム
thanx Konrad Rudolph、正確な用語をクリアするため。 –