问题标签 [heap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 如何证明堆中最坏情况的反转数是Ω(nlogn)?
我正忙着准备考试,只是在做一些旧试卷。下面的问题是唯一一个我似乎做不到的问题(我真的不知道从哪里开始)。任何帮助将不胜感激。
使用 Ω(nlogn) 比较排序界限、自底向上堆构造的 theta(n) 界限和插入排序的顺序复杂度来表明堆中最坏情况的反转数是 Ω(nlogn)。
heap - 排序数组是最小堆吗?最大堆的最小值是多少?
我研究过最小堆和最大堆,我有几个问题:
- 排序数组是最小堆吗?
- 最大堆的最小值是多少?
heap - 关于堆(最大堆和最小堆)
我有这个问题,在堆数据结构中,左孩子在自己的级别上可以多于右孩子吗?我的意思是考虑这三个数字 9,5,8 并且我想创建一个最大堆数据结构,因此根将是 9,并且 8 是它的左孩子而 5 是它的右孩子是真的吗?请帮帮我谢谢
data-structures - 最大堆和二叉树
这是我的数据结构书中的一个例子,对于这个练习来说,这不是一个最大堆,但它没有说明它的原因,请你帮我解释为什么它不是一个最大堆,谢谢。
python - heapq.n 原始序列中返回结果的最大索引
如何返回可迭代的第 n 个最大项目的原始列表中的索引
这已经花了我几个小时。我想不通。
perl - 堆中的二级顺序::简单
如何在 Perl 中为 Heap::Simple 接口定义二级排序?
c++ - 为什么 c++ 中的堆被实现为算法而不是容器?
我想知道为什么堆概念被实现为算法(make_heap
, pop_heap
, push_heap
, sort_heap
)而不是容器。我特别感兴趣的是一些人的解决方案也可以解释为什么set
并且map
是容器而不是类似的算法集合(make_set add_set rm_set 等)。
c - 按降序排列的堆排序不起作用
我一直在看这个几个小时,无法弄清楚。如果 heapify 函数中的比较更改为大于,则输出按应有的递增顺序排列。我希望我的列表按降序排序,但它没有使用以下代码给出正确的输出:
程序输出:
perl - 使用 Any 类型元素和 key_insert 优化 Heap::Simple 中的插入和二级排序
之前,我将元素条目定义为只是 Array in,Heap::Simple
因为我不需要辅助排序。
在实现了二次排序和定义元素以将数组引用插入到我创建的堆中的函数之后,我的插入运行时间增加了(很多!)。这在Heap::Simple
下面的文档中有介绍Any
但是我很难理解使用Any
元素类型的缺点。我会创建额外的数组引用吗?我应该key_insert
用来减少运行时间吗?
这是目前的代码:
上下文:将数组引用插入 Perl 堆
perl - Perl 中带有 Heap::Simple 的辅助键
我想调查是否有人在 Perl 中插入 Heap::Simple 时使用过辅助键?如果是这样,您的表现是否受到影响?