heapsort 相关问题

Heapsort是一种有效的基于比较的排序算法,它将输入分为排序和未排序部分,并通过提取最大元素并将其移动到排序部分来迭代缩小未排序部分。运行时间为O(n log n)。

关于威廉堆排序的问题

如果我没记错的话,堆排序的当前实现使用称为树排序的修改版本。我试图理解威廉姆斯编写的原始算法。 OUTHEAP 被 SWO 调用...

回答 1 投票 0

使用最小堆(三元堆)实现堆排序 - 关于正确性和优化的反馈

我正在致力于使用最小堆(特别是三元堆)实现堆排序算法,其中每个节点最多可以有三个子节点。我知道我的解决方案效率低下,我正在寻找......

回答 1 投票 0

堆/堆排序 DSA 交换父级与等值子级

在堆向下协同例程期间,如果最大堆中的父级小于两个子级,并且子级的值相等。 我应该选择哪个孩子来交换?它会影响堆排序吗...

回答 2 投票 0

当两个孩子都大于根并且他们的孩子也大于他们的父母时,heapify如何维护最大堆属性?

我目前正在学习堆排序,并且在理解 heapify 过程时遇到困难,特别是当根的两个子级都大于根本身以及子级时(

回答 1 投票 0

我使用 minheap 来解决我的问题,但堆放置了一些较大的元素,我无法理解为什么

好吧,所以最小堆将小值放在堆中第一个,但在我的情况下,5.xxx 被放置在 3.xxx 之前,当我使用排序给出正确答案时,我不知道如何解决这个问题,但我想这样做

回答 1 投票 0

在Java中实现堆排序时遇到的问题

我编写了以下程序来在Java中实现堆排序(升序和降序)。它实际上有以下步骤。 创建一个具有预先指定大小的数组并初始化...

回答 1 投票 0

多线程堆排序

我需要使用 C# 多线程改进一般堆排序。 我对实施改进没有明确的想法。 我得到的建议之一是将 N 部分和堆的数组分开......

回答 1 投票 0

如何解决Heapify重复向后替换的递归问题?

所以我正在尝试解决复发问题 所以我有: T(n) <= T(2n/3) + O(1) We can write: <= T(2n/3) + O(1) <= T(4n/9) + 2O(1) ... <= T((2/3)^i * n) + i*O(1) So if we solve for i (2...

回答 1 投票 0

堆排序ArrayIndexOutOfBoundsException

我正在研究Heapsort项目,但我不断收到错误 线程主异常 Java.lang.ArrayIndexOutOfBoundsException:10 在 ReplacementSelection.swap(ReplacementSelection.java:42) 在

回答 2 投票 0

为什么堆排序中是(n/2)-1?

在堆排序中,在 for 循环中重新排列数组时,为什么我们需要 i=n/2-1 并且我检查了 n/2 也按预期工作。 // 构建堆(重新排列数组) 对于 (int i = n / 2 - 1; i >= 0;...

回答 3 投票 0

在堆排序中弹出 3 个元素

如果我还想找到第三大元素然后弹出3,我该如何实现? 包cs.ds.main; 导入java.util.HashSet; 导入 java.util.Random; 导入java.util.Set; 公开课Hea...

回答 1 投票 0

使用 heapq 对元组进行排序

我正在使用 heapq 模块对元组列表进行堆排序。 但是,对于第一个元组的键上的绑定,heapq 不会自动回退到下一个键: 导入堆 x = [(3, 0, 0), (6, 0, 1), (2, 1, 0), (3,...

回答 3 投票 0

为什么堆几乎是完全二叉树?

我在很多书中读到,二叉堆几乎是完整的二叉树。据我所知,几乎完全二叉树的最后第二层始终未填充,并且从左到右。并且,完整的二进制...

回答 1 投票 0

Javascript 中的迷你堆排序实现

我想使用MinHeap在Javascript中实现堆排序算法。 但代码输出不正确... 我的数据集有 1000 个数字,我正在尝试堆积所有数据。 从 'fs... 导入 * as fs...

回答 1 投票 0

从头开始实现堆排序

导入java.util.Arrays; 导入 javax.management.RuntimeErrorException; 公共类我的堆{ 公共静态无效主(字符串参数){ MyHeap minHeap = new MyHeap(10, true); 最小堆。

回答 1 投票 0

找到插入最小堆的最后一个元素?

我正在考虑这个挑战: 考虑最小堆 [15, 27, 33, 39, 66, 39, 47, 58, 51],它是通过将值重复插入到空堆中而构建的。哪个元素不可能是最后一个元素...

回答 1 投票 0

C 中的警告:从不兼容的指针类型传递参数

我正在尝试在 C 中实现 extract_heap() 。我想通过函数将变量大小(堆的)作为指针传递。代码生成一些警告,如下所示: extract_max.c:在福...

回答 1 投票 0

关于霍尔堆排序的问题

如果我没记错的话,堆排序的当前实现使用称为树排序的修改版本。我试图理解威廉姆斯编写的原始算法。 OUTHEAP 被 SWO 调用...

回答 1 投票 0

如何实现堆排序?

我的堆排序代码没有做它应该做的事。 例如 h = MaxHeap([1,9,5,7,8]) 堆排序(h) h.keys # [9 8 5 7 1] 显然没有排序。我只是找不到我的错误。我已经尝试了很多东西......

回答 0 投票 0

inplace heap sort down heapify 是错误的

我没有得到正确的输出,因为 down heapify 部分是错误的所以请纠正我 并提前致谢。 第 1 部分 upheapify 工作正常 part2 downheapify 是错误的 公共静态 ...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.