【发布时间】:2011-08-11 20:49:18
【问题描述】:
如果给出两个二叉搜索树,我如何检查一个是否是另一个的子树。在这种情况下,检查一棵树是否是另一棵树的子树的算法是否相同?
算法从这里Find whether a tree is a subtree of other
穿越 T1。如果当前节点等于 T2 的根节点,则同时遍历两棵树(T2 和 T1 的当前子树)。比较当前节点。如果它们总是相等,则 T2 是 T1 的子树
请推荐
【问题讨论】:
-
可能你首先在较短的树中找到较大的树中第一个相似的节点/项目,然后继续前进,直到所有节点都从较短的树中耗尽,在这种情况下较短的节点是子树或在较短的树结束之前发现了不同之处。在这种情况下,较短的树不是子树。
-
Wajih - 我不明白你的评论,你没有定义“相似”。请看我的回答。
标签: search tree binary-tree binary-search-tree