首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java斜堆合并

java斜堆合并
EN

Stack Overflow用户
提问于 2011-06-25 16:01:54
回答 1查看 729关注 0票数 1

不一定是java,但我正在尝试理解倾斜堆的合并过程。我不明白为什么下面这些步骤中粗体的部分是这样的。

subtree.

  • Now,

  • 比较两个堆的根;设p是堆和较小的根,q是另一个堆。

  • 设r是产生的新堆的名称。

  • 设r的根是p(较小的根)的根,而则让r的右子树是p的左子树,通过递归地将p的右子树与q.

合并来计算r的左子树。

算法能否沿着对称轴(例如,做树的镜像反射)进行修改,让r的左子树成为p的右子树,然后递归地沿着r的右侧合并?这仅仅是一种惯例,还是按照上面列出的方式更有效呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-26 02:36:22

左/右的选择完全是武断的,但一旦你做到了,你就必须坚持下去。毕竟,您可以只使用您的堆,画一张它的图片,然后镜像它,它仍然是一个有效的堆。造成这种情况的根本原因是,您可以接受任何程序,并交换所有出现的变量(左、右),结果程序仍然有效,而且完全一样。

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

https://stackoverflow.com/questions/6478880

复制
相关文章

相似问题

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