Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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
Algorithm 如何实现在O(k)时间内合并两个元素数为n=2^k的堆的算法?_Algorithm_Recursion_Merge_Heap_Top Down - Fatal编程技术网

Algorithm 如何实现在O(k)时间内合并两个元素数为n=2^k的堆的算法?

Algorithm 如何实现在O(k)时间内合并两个元素数为n=2^k的堆的算法?,algorithm,recursion,merge,heap,top-down,Algorithm,Recursion,Merge,Heap,Top Down,然而,我甚至不知道这个问题意味着什么 这只需要最少的O(n)时间就可以合并两个排序的数组,我不知道如何在O(k)时间内合并 这一共有三个与之相关的问题: 这个问题的目的是探索以自顶向下的方式高效地构建标准堆的可能性 给出合并两个标准堆的算法的高级描述,每个标准堆包含n=2^k个元素。该算法应在O(k)时间内运行 使用第1部分中指定的子例程,给出一个递归或迭代算法,用于构建2^n个元素的堆 写下第2部分中指定的算法的运行时间方程,然后求解 您可以使用or 当n=2^k时,它们在O(k)时间内

然而,我甚至不知道这个问题意味着什么

这只需要最少的O(n)时间就可以合并两个排序的数组,我不知道如何在O(k)时间内合并

这一共有三个与之相关的问题:

这个问题的目的是探索以自顶向下的方式高效地构建标准堆的可能性

  • 给出合并两个标准堆的算法的高级描述,每个标准堆包含n=2^k个元素。该算法应在O(k)时间内运行

  • 使用第1部分中指定的子例程,给出一个递归或迭代算法,用于构建2^n个元素的堆

  • 写下第2部分中指定的算法的运行时间方程,然后求解

  • 您可以使用or

    当n=2^k时,它们在O(k)时间内都有合并操作。

    您可以使用or


    当n=2^k时,它们在O(k)时间内都有合并操作。

    阅读本文:在对数时间内执行此操作意味着堆用链接节点表示,而不是数组。阅读本文:在对数时间内执行此操作意味着堆用链接节点表示,而不是数组。