gpt4 book ai didi

algorithm - 在效率上将两个最小堆合并为一个堆?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:40 25 4
gpt4 key购买 nike

分别考虑两个大小为 n1 和 n2 的最小堆 H1、H2,这样 H2 中的每个节点都大于 H1 中的每个节点。

如何在 O(n2)(不是 O(n^2)..)中将这两个堆合并为一个堆“H”?
(假设堆以大小 > n1+n2 的数组表示)

最佳答案

可以在线性时间内构建一个堆see here .这意味着您只需要获取所有元素并从所有元素构造一个堆即可获得线性复杂度。但是,您可以使用“更花哨”的堆,例如 leftist heap并更快地执行合并操作。

关于algorithm - 在效率上将两个最小堆合并为一个堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23782803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com