考虑这样一种情况,您有两个节点列表,您所知道的是,一个是对某棵树的前序遍历的表示,另一个是对同一棵树的后序遍历的表示。
我相信完全可以从这两个列表中重建树,并且我认为我有一个算法可以做到这一点,但还没有证明。由于这将是硕士项目的一部分,我需要绝对确定它是可能的并且是正确的(经过数学证明)。然而,它不会是该项目的重点,所以我想知道那里是否有我可以引用的来源(即纸张或书籍)作为证明。(也许在TAOCP?有人可能知道该部分吗?)
简而言之,我需要一个在可引用资源中经过验证的算法,从它的前后顺序遍历中重建一棵树。
注意:有问题的树可能不是二元的,或平衡的,或任何使它太容易的东西。
注2:只使用预购或后购清单会更好,但我认为这是不可能的。
注意 3:一个节点可以有任意数量的子节点。
注4:我只关心兄弟姐妹的顺序。只有一个孩子时,左或右无关紧要。