В структурах данных я получаю преобразование по порядку и преобразование формулы предварительного заказа в деревья. Тем не менее, я не так хорош в пост-порядке.Последовательный обход формулы
Для данной формулы x y z + a b - c */-
Я придумал
- / \ * /(divide) /\ /\ x + - c /\ /\ y z a b
По большей части, это, кажется, соответствует, за исключением * в левом поддереве является джокером в Палуба. В обходном порядке по порядку последний символ является верхним узлом дерева, все остальное ветвится вниз. Теперь я беру операторы/и *, чтобы они означали, что они должны находиться на противоположных узлах. Однако при пересечении дерева все подходит, кроме *, так как левое поддерево должно работать до узла до корня, а затем переключиться на правое поддерево.
Подсказка в правильном направлении оценивается.
Спасибо, это решение, по-видимому, лучше всего подходит. Я потерялся после x (y + z) ((a-b) * c) и не был уверен, как разместить последние два оператора. – Jason