【发布时间】:2014-08-03 12:04:08
【问题描述】:
给定两个 二叉树 T1 和 T2,是否有任何有效的算法来检查 T1 是否是 T2 的 子树?二叉树是 ordered 和 labeled,即每个节点都有一个标签,并且左/右子节点不能交换。
例如,T1: 是 T2: 的子树
简单的算法在 O(|T1| * |T2|) 中运行,只需遍历 T2 的每个节点并检查 T1 是否可以在该节点匹配。
O(|T1| + |T2|) 可能吗?
【问题讨论】:
-
您可能会在计算机科学 stackexchange 网站上获得更好的答案:cs.stackexchange.com
标签: algorithm data-structures tree pattern-matching binary-tree