判断一棵树是否是另一棵树的子树

2023-11-21

有两个二叉树T1和T2,存储字符数据,允许重复。
如何确定 T2 是否是 T1 的子树? 。
T1有数百万个节点,T2有数百个节点。


穿越T1。如果当前节点等于T2的根节点,则同时遍历两棵树(T2和T1的当前子树)。比较当前节点。如果它们始终相等,则 T2 是 T1 的子树。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断一棵树是否是另一棵树的子树 的相关文章

  • 为什么Python中pop()的大O与pop(0)不同[重复]

    这个问题在这里已经有答案了 他们不应该都是O 1 因为从 Python 列表中的任何位置弹出一个元素涉及销毁该列表并在新的内存位置创建一个元素 蟒蛇的list实现使用动态调整大小的 Carray在引擎盖下 删除元素usually要求您移动后
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • B树索引与倒排索引?

    这是我对两者的理解 B 树索引 一般使用数据库列 它将列内容保留为 key 将 row id 保留为 value 它以排序的方式保存密钥 快速找到键和行位置 倒排索引 一般用于全文检索 这里文档中的单词也作为键 与文档位置 ID 一起以排序
  • 将数字 n 拆分为 k 个不同数字的总和

    我有一个数字 n 我必须将它分成 k 个数字 使得所有 k 个数字都是不同的 k 个数字的总和等于 n 并且 k 最大 例如 如果 n 为 9 则答案应为 1 2 6 如果 n 为 15 则答案应为 1 2 3 4 5 这就是我尝试过的 v
  • 比较两棵树的伪代码

    这是我遇到过几次的问题 并且不确信我使用了最有效的逻辑 例如 假设我有两棵树 一棵是文件夹结构 另一棵是该文件夹结构的内存 模型 我希望比较两棵树 并生成一棵树中存在的节点列表 而不是另一棵树中存在的节点列表 反之亦然 是否有公认的算法来处
  • Java 中具有级别顺序插入的完整二叉搜索树

    我们接到一个任务 需要编码 二叉搜索树 那个树has to be complete not perfect 这意味着所有不在最低级别或次低级别的节点都应该有 2 个子节点 而最低级别的节点应尽可能远离左侧 我们需要插入到树中等级顺序 所以如
  • 如何确定字符串的最小公约数?

    我在面试时被问到以下问题 并被它难住了 我遇到的部分问题是要下定决心要解决什么问题 起初我并不认为这个问题在内部是一致的 但后来我意识到它要求你解决两个不同的问题 第一个任务是弄清楚一个字符串是否包含另一个字符串的倍数 但第二个任务是在两个
  • java中的Anagram算法

    我想做字谜算法但是 这段代码不起作用 我的错在哪里 例如 des 和 sed 是字谜 但输出不是字谜 同时我必须使用字符串方法 不是数组 public static boolean isAnagram String s1 String s2
  • 在大文件中查找重复项

    我有一个非常大的文件 大约有 1500 万个条目 文件中的每一行都包含一个字符串 称为键 我需要使用 java 查找文件中的重复条目 我尝试使用哈希图并检测重复的条目 显然 这种方法向我抛出了 java lang OutOfMemoryEr
  • 算法 - 树中所有节点的最大距离

    所以 找到树中两个节点之间的最长路径相当容易 但我想要的是找到从节点出发的最长路径x到树中的另一个节点 对于所有x 这个问题也可以用以下方式表达 计算从给定的树中可以生成的所有有根树的高度 One way of course is to j
  • 埃拉托斯特尼筛法是生成 1 到 N 素数的最佳算法吗?

    我在一次采访中被问到这个问题 我使用埃拉托色尼筛子概念和数组实现了一种算法 有没有更好的方法来解决这个问题 对于不知道筛子的人 请点击以下链接 http en wikipedia org wiki Sieve of Eratosthenes
  • 大小为 n 的数组,其中一个元素 n/2 次

    给定一个由 n 个整数组成的数组 其中一个元素出现超过 n 2 次 我们需要在线性时间和恒定的额外空间中找到该元素 YAAQ 又一个数组问题 我有一种偷偷的怀疑 这类似于 在 C 中 We don t need an array publi
  • 让电脑实现360度=0度,旋转炮塔

    我正在制作一个游戏 其中有一个计算机控制的炮塔 炮塔可360度旋转 它使用 trig 找出枪瞄准所需的角度 obj deg 并将枪的当前角度存储在 gun deg 下面的代码以设定的速度旋转枪 if objdeg gt gundeg gun
  • Python 将字符串组合成尽可能短的字符串?

    如果我有一个字符串列表 我想将它们组合成一个具有重叠字符的字符串 如果没有剩余的重叠字符串 请将其添加到末尾 这是一个过于简化的版本 input one two output twone 我正在寻找一种方法来对输入列表中的任意数量的字符串执
  • 我该如何解决? KnapSack - 值完全相同,但每个对象都有三个权重

    我在解决我的练习时遇到问题 我读到了动态规划和算法 我认为我的练习是 特定背包问题 我用暴力法解决了它 但我无法用动态规划解决它 我有一艘重300吨的船 背包 有些晶体本身含有 3 种物质 X Y Z 每种物质都有重量 并且所有晶体都具有相
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • 如何使用二叉树中的递归来完成回溯

    我正在尝试插入一个二进制节点 我的代码很复杂 没有希望挽救它 所以我计划重写它 基本上我没有考虑回溯 也没有仔细考虑算法 我正在尝试使用顺序遍历插入二进制节点 但我不明白应该如何回溯 D B E A C F 我如何搜索根 D 的左子树 然后
  • 在c#中遍历对象树

    我有一棵由多个对象组成的树 其中每个对象都有一个名称 string id int 以及可能是同一类型的子数组 如何遍历整个树并打印出所有 id 和名称 我是编程新手 坦率地说 我很难理解这个问题 因为我不知道有多少个级别 现在我正在使用fo
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • 根据位置计算组合

    我在解决这个问题时遇到了麻烦 创建一个函数 给定字符集 C 可以生成第 N 个组合 或者返回给定起始位置 Ns 和结束位置 Ne 以及组合的最大长度 Mx 的一系列组合 一个具体的例子 令 C A B C 我们知道不同的组合将如下所示 假设

随机推荐

  • 如何从字符串中解析日期/时间?

    Input 带有日期和可选时间的字符串 不同的表现形式固然很好 但也是必要的 这些字符串是用户提供的 并且可能格式错误 例子 2004 03 21 12 45 33 我认为这是默认布局 2004 03 21 12 45 33 可选布局 23
  • 如何在输出之前修改整个 ASP.NET 页面内容?

    我有一个页面 上面有很多用户控件 我希望能够直接在将在我的代码中替换的内容中包含 宏 或 占位符 这应该不重要 但我使用 Ektron 作为我的 CMS 在将整个呈现的页面内容发送到客户端之前 我是否可以挂钩任何页面事件来对整个呈现的页面内
  • html5画布中的双线描边

    我想使用以下方法绘制一个具有双线边框的形状html5画布路径 默认笔划 context lines 具有单线类型的路径 我可以在原始形状内绘制类似的形状 以生成一个看起来像用两条边框线制成的图形 但我想要某种通用的解决方案 有任何想法吗 做
  • AWS CLI:禁用分发

    据我了解 禁用cloudfront分发 means 更新其状态并且必须能够删除它 鉴于 AWS CLI 的文档非常稀疏 我正在寻找一个简单的示例来说明如何仅使用 CLI 进行更新 虽然我无法为您提供一个最小的示例 但以下内容应该可行 您可以
  • ldap3 python 将用户添加到组

    我正在使用编写一个小脚本python ldap3生成虚拟用户和组 我在将用户与组链接时遇到问题 运行此代码片段后 我的 Active Directory 服务器中没有任何更改 conn modify cn dancing ou test g
  • 在javascript中获取上传文件的数据

    我想上传 csv 文件并处理该文件内的数据 最好的方法是什么 我不想使用 php 脚本 我执行了以下步骤 但这个方法只返回文件名而不是文件路径 所以我没有得到想要的输出
  • WatchKit 应用程序无法在模拟器上运行

    error WatchKit Extension doesn t contain any WatchKit apps Verify that the value of WKWatchKitApp in your WatchKit App s
  • 两个应用程序可以监听同一个端口吗?

    同一台机器上的两个应用程序可以绑定到相同的端口和IP地址吗 更进一步 一个应用程序可以侦听来自某个 IP 的请求 而另一个应用程序侦听来自另一个远程 IP 的请求吗 我知道我可以让一个应用程序启动两个线程 或分叉 以具有类似的行为 但是两个
  • 清除所有剪贴板条目

    在我的运行 Android 4 1 2 的 Samsung Tab 3 上 将多个副本复制到剪贴板会生成一个包含每个副本的剪贴板 通过滑盖键盘底部的按钮可以看到这一点 我想以编程方式删除所有这些副本 但是 ClipboardManager
  • Flask - WTForm - 将表单保存到数据库

    我在将表单 wtf 保存到 sqlalchemy db时遇到问题 表单正在渲染 但提交后没有任何反应 e g 127 0 0 1 30 Dec 2013 10 30 24 POST add HTTP 1 1 200 我试图在没有验证器的情况
  • jquery切换id而不是类?

    有没有一种方法可以创建一个切换函数 首先只切换一个 css 样式元素 例如背景颜色或类似的东西 并且选择一个 id 而不是一个类 因为我知道toggleClass 但我只是想知道是否可以用 ids 代替 gallery load http
  • 如何使用 html5

  • Java 8 中的 completableFuture 是否可以扩展到多核?

    假设我有一个线程 它调用一堆返回 completablefuture 的方法 并说我将它们全部添加到列表中 最后我这样做了completablefutures allof list size join 现在列表中的 future 可以扩展到
  • viewDidUnload 与 viewDidDisappear

    我不明白什么时候应该实施一些东西viewDidUnload versus viewDidDisappear 两者有什么区别 例如 我想发送一个NSNotification当视图控制器从视图层次结构中删除时 在这两种方法之间 我从哪里发布通知
  • vlc mac python绑定没有视频输出

    我正在使用 vlc python 绑定来播放视频 然后我得到了这些错误 0x3d0c58 main window error corrupt module Applications VLC app Contents MacOS plugin
  • 当我们将“cc”添加到 clobber 列表时,程序集输出中会发生什么

    我读到 如果我们在 clobber 列表中指定 cc 则表明汇编代码修改标志寄存器 编写了一个示例程序来检查添加 cc 和不添加 cc 之间的区别 比较程序集 当我们添加 cc 时没有变化 include
  • 多线程控制台 I/O

    我在多线程应用程序中使用控制台 现在 它只接受输出 printf 等 到目前为止我没有任何问题 然而 我也希望能够支持控制台输入 这就是我的生活变得复杂的地方 预先警告一下 我非常不熟悉使用控制台输入和输出的更复杂的细微差别 我在这个主题上
  • 从数组中读取随机值

    我有一个包含 14 个字符串的数组 我想向用户显示这 14 个字符串 并且不重复 我得到的最接近的是创建一个整数数组并打乱它们的值 然后使用 int 数组中的数字之一作为索引从字符串数组中读取 appDelegate randomRiddl
  • 比较 Pandas Dataframe 行并删除具有重叠日期的行

    我有一个数据框 其中包含从交易策略中获取的交易 交易策略中的逻辑需要更新 以确保如果该策略已经在交易中 则不会进行交易 但这是一个不同的问题 许多先前交易的交易数据从 csv 文件读入数据帧 这是我所拥有的数据的问题 我需要对数据帧进行逐行
  • 判断一棵树是否是另一棵树的子树

    有两个二叉树T1和T2 存储字符数据 允许重复 如何确定 T2 是否是 T1 的子树 T1有数百万个节点 T2有数百个节点 穿越T1 如果当前节点等于T2的根节点 则同时遍历两棵树 T2和T1的当前子树 比较当前节点 如果它们始终相等 则