Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time complexity 逐个获取元素时自顶向下的堆构造_Time Complexity_Heap_Heapsort_Topdown_Bottom Up - Fatal编程技术网

Time complexity 逐个获取元素时自顶向下的堆构造

Time complexity 逐个获取元素时自顶向下的堆构造,time-complexity,heap,heapsort,topdown,bottom-up,Time Complexity,Heap,Heapsort,Topdown,Bottom Up,所以我读到,当你一个接一个地获取元素时,你应该使用自下而上的堆构造,而不是自上而下的heapify,但是如果我每次添加一个新元素时都使用heapify算法,基本上每次在数组中添加一个元素时都使用n/2到1 heapify(I)的方法,会怎么样,这种方法在使用bittom up堆构造时有哪些缺点?时间复杂度是多少?构建堆方法(您称之为自顶向下构建)是O(n)。因此,每次插入堆都是一个O(n)操作。与在底部插入和向上筛选相比,在最坏的情况下是O(logn),但在实践中更接近O(1)。看 如果您真的必

所以我读到,当你一个接一个地获取元素时,你应该使用自下而上的堆构造,而不是自上而下的heapify,但是如果我每次添加一个新元素时都使用heapify算法,基本上每次在数组中添加一个元素时都使用n/2到1 heapify(I)的方法,会怎么样,这种方法在使用bittom up堆构造时有哪些缺点?时间复杂度是多少?

构建堆方法(您称之为自顶向下构建)是O(n)。因此,每次插入堆都是一个O(n)操作。与在底部插入和向上筛选相比,在最坏的情况下是O(logn),但在实践中更接近O(1)。看

如果您真的必须在收到项目后立即插入到堆中,那么除了执行标准插入之外,您没有其他可行的选择:添加到堆的末尾并进行筛选