查看: 1925| 回复: 10
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 求助一道BST题

全局:

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

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

x
BST树节点有高度、值、三个指针(两个孩子节点和父节点),在logn时间复杂度下找到中位数值。
万分感谢!!

评分

参与人数 1大米 +5 收起 理由
14417335 + 5 给你点个赞!

查看全部评分


上一篇:优化解总是写不对怎么破
下一篇:找在职跳槽模面队友!
推荐
neweggg 2020-4-23 11:08:34 | 只看该作者
全局:
本帖最后由 neweggg 于 2020-4-23 11:17 编辑
david_smith 发表于 2020-4-23 10:56
BST 你要把他换成balance BST, 每个节点加一个变量来记录这个节点的右子树及右子树的子孙中共有多少节点, ...

楼主的题目没有说可以换成balanced BST,我的理解是,如果要把不平衡的树转换成平衡树那就没意义了,因为需要in order traversal,这个本身就是O(n)的操作了。另外我想跟楼主确认一下,每个节点里面的高度指的是当前节点和root之间的差还是到该节点subtree最底层的高度差?
回复

使用道具 举报

推荐
 楼主| larryxueric 2020-4-23 20:39:39 | 只看该作者
全局:
neweggg 发表于 2020-4-23 11:08
楼主的题目没有说可以换成balanced BST,我的理解是,如果要把不平衡的树转换成平衡树那就没意义了,因为 ...

height 指的是每个节点到叶子节点的最长路径。
谢谢关注!是不是可以做出来?
求大神点拨!
回复

使用道具 举报

推荐
 楼主| larryxueric 2020-4-23 07:31:52 | 只看该作者
全局:
mylarryshell 发表于 2020-4-23 06:19
这个题缺条件。如果bst是单枝树,比如所有节点都在左子树上,那么不会有logn的算法找中位数。
另外n代表的 ...

n应该是代表节点数。更正下:是在O(height)时间复杂度完成。
谢谢回复!
回复

使用道具 举报

全局:
对于树的形状有要求么?比如是balanced还是skewed
回复

使用道具 举报

🔗
mylarryshell 2020-4-23 06:19:16 | 只看该作者
全局:
这个题缺条件。如果bst是单枝树,比如所有节点都在左子树上,那么不会有logn的算法找中位数。
另外n代表的是什么?节点个数还是树里节点的最大值?

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| larryxueric 2020-4-23 07:27:55 | 只看该作者
全局:
neweggg 发表于 2020-4-23 03:28
对于树的形状有要求么?比如是balanced还是skewed

没有特别要求,只是一个BST。
谢谢回复!
回复

使用道具 举报

🔗
david_smith 2020-4-23 10:56:12 | 只看该作者
全局:
BST 你要把他换成balance BST, 每个节点加一个变量来记录这个节点的右子树及右子树的子孙中共有多少节点,这样你就可以在Log N的时间内找到中位数了
回复

使用道具 举报

🔗
usr_opta 2020-4-24 10:01:24 | 只看该作者
全局:
我觉得这题没法做,考虑满二叉树的情况,除了把整棵树遍历一遍,不然没法说明根节点的左右子树大小相等。

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
raistlins 2020-4-24 12:21:04 | 只看该作者
全局:
是否提前知道节点总个数?
回复

使用道具 举报

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

本版积分规则

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