ノードのリストが 2 つある状況を考えてみましょう。一方はあるツリーの前順トラバーサルの表現であり、もう一方は同じツリーの後順トラバーサルの表現です。
これら 2 つのリストからツリーを正確に再構築することは可能だと思います。また、それを行うアルゴリズムがあると思いますが、証明していません。これはマスタープロジェクトの一部になるので、それが可能で正しいことを絶対に確信する必要があります(数学的に証明されています)。しかし、それはプロジェクトの焦点ではないので、証明のために引用できる情報源 (紙や本など) があるかどうか疑問に思っていました。(たぶんTAOCPで? セクションを知っている人はいますか?)
要するに、引用可能なリソースで、事前および事後のトラバーサルからツリーを再構築する実証済みのアルゴリズムが必要です。
注: 問題のツリーは、おそらく 2 進法でもバランスの取れたものでもなく、簡単になりすぎるものでもありません。
注 2: 事前注文リストまたは事後注文リストのみを使用する方がよいでしょうが、それは可能ではないと思います。
注 3: ノードは、任意の数の子を持つことができます。
注 4: 兄弟の順序だけを気にします。子供が一人しかいない場合、左右は関係ありません。