楼主: BullMonk
跳转到指定楼层
上一主题 下一主题
收起左侧

脸熟跪经

🔗
真淘蛮 2017-11-13 10:31:50 | 只看该作者
全局:
BullMonk 发表于 2017-11-13 08:38
第二题原数列无序,但是你生成的树不是heap,所以总可以满足,我是这样子的,每次找最大点作为root,把数 ...

老哥,如何每次找到最大值?遍历的话,如果原来就是有序的时间复杂度岂不是O(n!), 用heap的话,每次弹出来的两个最大值都在右半边怎么办 ?
回复

使用道具 举报

🔗
真淘蛮 2017-11-13 10:32:44 | 只看该作者
全局:
向上的牛牛 发表于 2017-11-13 06:16
楼主能说一下第二题那个array to max-heap是怎么做的吗?

你看了楼主的回复了吗? 请问如何每次找到最大值?遍历的话,如果原来就是有序的时间复杂度岂不是O(n!), 用heap的话,每次弹出来的两个最大值都在右半边怎么办 ?
回复

使用道具 举报

🔗
William Zhang 2017-11-13 10:41:00 | 只看该作者
全局:
楼主厉害 点赞点赞点赞
回复

使用道具 举报

🔗
向上的牛牛 2017-11-13 10:44:10 | 只看该作者
全局:
真淘蛮 发表于 2017-11-13 10:32
你看了楼主的回复了吗? 请问如何每次找到最大值?遍历的话,如果原来就是有序的时间复杂度岂不是O(n!),  ...

应该是直接pass through一遍找最大值吧。然后这里的heap并不是真正意义上的heap,并不要求是一个complete tree, 其只要满足父大于子的性质就可以了。所以时间复杂度应该是O(nlogn)吧。
回复

使用道具 举报

🔗
真淘蛮 2017-11-13 11:35:14 | 只看该作者
全局:
向上的牛牛 发表于 2017-11-13 10:44
应该是直接pass through一遍找最大值吧。然后这里的heap并不是真正意义上的heap,并不要求是一个complete ...

我说错了,如果是一个递增的序列, 根是最后一个,每次建节点不都得找这半部分的最大节点吗?所以难道不是O(n * n)  吗?比如1,2,3,4,5
树不应该是 :
                    5
                  4
                3
              2
           1
回复

使用道具 举报

🔗
printboo 2017-11-13 13:34:43 | 只看该作者
全局:
请问lz多久收到消息的?hr有把你送hiring committee review吗?
回复

使用道具 举报

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

本版积分规则

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