不一定是java,但我正在尝试理解倾斜堆的合并过程。我不明白为什么下面这些步骤中粗体的部分是这样的。
subtree.
合并来计算r的左子树。
算法能否沿着对称轴(例如,做树的镜像反射)进行修改,让r的左子树成为p的右子树,然后递归地沿着r的右侧合并?这仅仅是一种惯例,还是按照上面列出的方式更有效呢?
发布于 2011-06-26 02:36:22
左/右的选择完全是武断的,但一旦你做到了,你就必须坚持下去。毕竟,您可以只使用您的堆,画一张它的图片,然后镜像它,它仍然是一个有效的堆。造成这种情况的根本原因是,您可以接受任何程序,并交换所有出现的变量(左、右),结果程序仍然有效,而且完全一样。
https://stackoverflow.com/questions/6478880
复制相似问题