📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 1906| 回复: 7
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] isSubTree那题经典follow up想考察什么?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 会编程的猪先生 于 2015-7-26 13:57 编辑

最近看面经,发现binary tree那道判断isSubTree常常有个follow up:
what if one tree is significantly larger than the other one?

这个我该如何考虑呢?

上一篇:今天起开始认认真真刷题
下一篇:Sudoku Solver 为什么stackflow啊
🔗
水逼一枚 2015-7-26 13:26:15 | 只看该作者
全局:
请问一下这个题的原型是lintcode上那道Subtree吗?没看到有说是BST啊?
回复

使用道具 举报

🔗
 楼主| 会编程的猪先生 2015-7-26 13:57:37 | 只看该作者
全局:
水逼一枚 发表于 2015-7-26 13:26
请问一下这个题的原型是lintcode上那道Subtree吗?没看到有说是BST啊?

笔误,已修改
回复

使用道具 举报

🔗
水逼一枚 2015-7-26 14:25:36 | 只看该作者
全局:

好的,所以这个follow up你怎么看呢?这个题我记得我做的时候就是递归中还嵌套着递归,实际上会有很多重复运算,但是我觉得这些重复运算又没法省去。所以是不是还是在时间上有很大影响呢?

评分

参与人数 1大米 +1 收起 理由
会编程的猪先生 + 1 请看下面讨论

查看全部评分

回复

使用道具 举报

🔗
handsomecool 2015-7-26 14:32:52 | 只看该作者
全局:
这里有O(n)的解法,不知道是不是题目想要的答案: http://www.geeksforgeeks.org/che ... -binary-tree-set-2/
回复

使用道具 举报

🔗
zhuli19901106 2015-7-26 17:01:55 | 只看该作者
全局:
handsomecool 发表于 2015-7-26 14:32
这里有O(n)的解法,不知道是不是题目想要的答案: http://www.geeksforgeeks.org/check-binary-tree-subtree- ...

没错,昨天我闭门想了一个多钟头,就是搞出这个算法。原来geek上面还真有。
不过昨天我一直没想出证明这算法正确性的依据,总觉得可能会有反例。

思路就是求出两个遍历序列(前中或者中后),然后用模式匹配算法判断包含关系,这样就可以做到线性复杂度了。

评分

参与人数 1大米 +1 收起 理由
会编程的猪先生 + 1 另有题目“通过前中序恢复一棵树”,所以说.

查看全部评分

回复

使用道具 举报

🔗
zhuli19901106 2015-7-26 17:03:42 | 只看该作者
全局:
水逼一枚 发表于 2015-7-26 13:26
请问一下这个题的原型是lintcode上那道Subtree吗?没看到有说是BST啊?

这题可以有线性的算法,看我那题的解法3,昨天刚想出来的。这题被定义为简单题其实不合理。
回复

使用道具 举报

🔗
 楼主| 会编程的猪先生 2015-7-27 01:10:59 | 只看该作者
全局:
谢谢大家啦,其实我默认为strStr这个思路就是第一问可以回答的。我本来还在想follow up是否有别的深意?或许是我想多了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表