标签: java algorithm merge heap
不必是java,但我正在尝试理解倾斜堆的合并过程。我不明白为什么步骤中的粗体部分是这样的。
算法是否可以沿着对称轴修改(例如我对树进行镜像反射)并让r的左子树是p的右子树并递归合并到r的右侧?它只是一个约定,还是以上面列出的方式更有效率?
答案 0 :(得分:0)
左/右的选择完全是任意的,但一旦你做到了,你必须坚持下去。毕竟,你可以拿你的堆,绘制它的图片,然后镜像它,它仍然是一个有效的堆。这个的根本原因是你可以接受任何程序,并且左右交换所有出现的变量,结果程序仍然有效,而且完全相同。