【发布时间】:2015-03-31 17:41:25
【问题描述】:
我有两个最大堆(以数组表示),大小为 m 的 H1 和大小为 n 的 H2,n>m。 我必须使用来自 H1 和 H2 交集的元素创建第三个最大堆。
基本解决方案(扫描两个数组)需要 O(n*m) 时间,并且没有利用最大堆属性。
其他想法?
【问题讨论】:
-
O(nlogn + mlogm)显然可以轻松实现。想知道是否有类似于合并两个排序数组的线性解决方案。
标签: algorithm heap set-intersection