Мне сказали, что для восстановления дерева вам нужен и обход Inorder, и какой-то другой обход (pre / post), что имеет смысл, потому что только обход inorder может указывать относительные позиции дочерних элементов от корня.
Но я только что прочитал статью о том, как построить дерево выражений только из прохождения по порядку, используя стек.По сути, вы сканируете почтовый порядок, операнды помещаются в стек, и если оператор виден, дважды щелкните и сделайте выделенные узлы дочерними по отношению к этому узлу оператора, затем поместите этот узел оператора в стек и продолжите.
Как это каждый раз дает правильные деревья?