代数式を二分木に変換するロジックを見つけるために、インターネット全体を探しています。
最初に代数式を接尾辞または接頭辞に変換してから、それを二分木に変換するものしか見つかりませんでした。
ロジックを試してみましたが、すべての場合に機能するとは限りませんでした。問題は、ルート親ノードとして正しいオペランドを選択することでした。それを解読するための一般化されたロジックを見つけることができませんでした。
可能であれば、知りたいだけです。
私を正しい方向に導くための外部リンクまたは論理的な答えへのポインタはありますか?
編集
はい 構文ツリー
だからこの表現
A+(B-C)*D+E*F
に翻訳する必要があります
|-(+)-|
| |
|---(*)---| |---(*)---|
| | | |
|---(+)---| D E F
| |
| |
A |--( - )--|
| |
B C