首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含其他二叉树的二叉树

包含其他二叉树的二叉树
EN

Stack Overflow用户
提问于 2012-09-30 09:21:47
回答 1查看 387关注 0票数 1

我有一个函数,它可以判断给定的二叉树A是否包含在给定的二叉树B中。该函数将“包含的”定义为"A被B覆盖,或者B的任何完整的子树。“例如,如果树A是空树,而树B不是,那么A会因此包含在B中吗?如果它们都是空的呢?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-09-30 09:25:46

在数学意义上,空集(树只是集合的特化)包含在每个其他集合中,包括其他空集。

所以你的两个问题都是肯定的。

Empty set甚至有自己的wiki:http://en.wikipedia.org/wiki/Empty_set

无论如何,从您的实现中可以明显看出,空树包含在每个其他树中,示例实现将如下所示:

代码语言:javascript
复制
bool Tree::contains(const Tree& otherTree)
{
   for (n: otherTree)
   {
      if (!contains(n)) 
         return false;
   }
   return true;
} 

当然,我可以想象更好的实现,特别是在对树进行排序时-但重点是,如果for(n: otherTree)不会导致迭代,那么结果是真的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12657912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档