假设我们有一个包含 n 个元素的二叉堆,并且希望再插入 n 个元素(不一定是一个接一个)。总共需要多少时间?
我认为它是 theta (n logn),因为一次插入需要 logn。
给定:n 个元素的堆以及要插入的 n 个元素。所以最终会有2*n个元素。因为堆可以通过两种方式创建:1.连续插入和2.构建堆方法。在这些构建堆方法中,构建堆需要 O(n) 时间,这在构建堆的时间复杂度怎么可能是O(n)?。所以所需的总时间是 O(2*n) ,与 O(n) 相同
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)