给定两个大小分别为 n 的最大堆,从两个最大堆的元素生成一个大小的最大堆的最小可能时间复杂度是多少?
(A) O(nLogn)
(B) O(nLogLogn)
(C) O(n)
(D) O(nLogn)答案: (C)
解释:我们可以在 O(n) 时间内构建一个包含 2n 个元素的堆。以下是步骤。
创建一个大小为 2n 的数组并将两个堆的元素复制到该数组。
为大小为 2n 的数组调用构建堆。构建堆操作需要 O(n) 时间。
这个问题的测验
📅  最后修改于: 2021-09-08 12:50:50             🧑  作者: Mango
给定两个大小分别为 n 的最大堆,从两个最大堆的元素生成一个大小的最大堆的最小可能时间复杂度是多少?
(A) O(nLogn)
(B) O(nLogLogn)
(C) O(n)
(D) O(nLogn)答案: (C)
解释:我们可以在 O(n) 时间内构建一个包含 2n 个元素的堆。以下是步骤。
创建一个大小为 2n 的数组并将两个堆的元素复制到该数组。
为大小为 2n 的数组调用构建堆。构建堆操作需要 O(n) 时间。
这个问题的测验