数据结构论坛

注册

 

发新话题 回复该主题

大连海事大学计算机考研数据结构证 [复制链接]

1#

先序遍历(根左右),u在w的前面

后序遍历(左右根),u在w的后面

证明:u是w的祖先节点

证明如下:

反证法,假设u不是w的祖先节点,记二叉树为BT,二叉树的根节点为r,

即u不在r到w的路径上。可分为以下两种情况:

①u是w的字树上的节点

记w的左子树wl(wleft),右子树wr(wright),

u可能在wl上,或在wr上,

先序遍历,w在wl之前,wl在wr之前,

即w肯定在u之前,与题意不符。

②u是w子树节点以外的其他节点

记r到w的路径为r,r1,r2……rk,w.

即u是r,r1,r2……rk其中某个节点的子树节点。

取r,r1,r2……rk其中某个节点rx,

记rx的左子树rxl,右子树rxr,

rxl=w,rxr=u,先序遍历,u在w后面,与题意矛盾rxl=u,rxr=w,后序遍历,u在w前面,与题意矛盾综上,u只能是r,r1,r2……rk其中的某一个节点,即u是w的祖先节点。

问题得证。

分享 转发
TOP
发新话题 回复该主题