读书人

给出先序和中序序列如何求任意指定的两

发布时间: 2013-01-12 16:25:03 作者: rapoo

给出先序和中序序列怎么求任意指定的两个结点共同祖先
例如给出先序序列S1,中序序列S2,求任意两点的共同祖先最好有算法解释一下,或者大概思路也行


[解决办法]
首先根据S1和S2构造出来这棵树:
假设S1为:A…………,则A必为树根。在S2中找到A,假设S2为:……A……。则可确定A的左右子树分别为哪些元素。这样递归下去,就能构造出来整棵树。

再在构造出的树中找共同祖先。一个直观的方法就是,把两者的祖先都全部取出来,然后求交集。

读书人网 >软件架构设计

热点推荐