首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有相同元素的Max和Min堆

具有相同元素的Max和Min堆
EN

Stack Overflow用户
提问于 2016-11-07 11:15:57
回答 1查看 1.1K关注 0票数 2

考虑下面的例子。我正在向最小堆中添加随机数,同时在最大堆中以相同的顺序添加相同的数字。因此,在最后,这两个堆将有相同的数字,有差异,一个是最小堆,第二个是最大堆。

现在问题是:

如果我决定从最大堆中删除最大元素,那么最大元素是否总是位于最小堆的底部?如果不是,那么另一个问题是,如果我想从min堆中删除这个max元素,将其与min堆的最后一个元素交换,删除最后一个元素,那么我是否需要运行操作,该操作必须与其子元素进行比较才能修复min堆?还是总是将其与父类进行比较,以修复最小堆?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-07 11:43:47

根据最大堆的定义,根总是大于它的子根。然而,在儿童中并没有具体的排序,所以左孩子并不总是比右大,反之亦然。max堆的max元素(即根)必须位于min堆中的叶子上。我们不知道哪片叶子,这将取决于元素的配置。(即)插入这些元素的顺序,因为通常插入元素是为了填充从树的最左边到最右边)

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

https://stackoverflow.com/questions/40463852

复制
相关文章

相似问题

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