Jid*_*ar 5 python time-complexity heapq
我读到 heapq.merge 函数专门用于合并 2 个排序数组?时间复杂度是 O(n) 吗?如果不是,那是什么?为什么?还有它的空间复杂性是什么。
我正在解决将 2 个排序数组与 2 个指针合并的问题,并且可以实现 O(n) 时间复杂度和 O(n) 空间复杂度。
heapq.merge可用于合并任意数量的已排序迭代。其时间复杂度O(NlogK)为N是元素总数,而K是送入最小堆进行比较的项目。
空间复杂度是O(K)因为最小堆K在执行期间的任何给定时间点都有项目。