标签: java data-structures merge binary-heap
我一直坚持一个问题并且想知道是否有人能指出我正确的方向:
假设使用基于指针的树表示而不是数组来表示二进制堆。考虑将二进制堆LHS与RHS合并的问题。假设两个堆都是完整的树,分别包含(2 ^ L - 1)和(2 ^ R -1)个节点。 给两个O(log N)算法合并两个堆,一个是L = R,一个是| L - R | = 1。
这是一个家庭作业问题,我只需指出正确的方向。
答案 0 :(得分:5)
提示L = R:假装你刚删除了root。如果您需要更多,请告诉我。