首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

给出先序和中序序列如何求任意指定的两个结点共同祖先

2013-01-12 
给出先序和中序序列怎么求任意指定的两个结点共同祖先例如给出先序序列S1,中序序列S2,求任意两点的共同祖

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


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

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

热点排行