软堆:它在哪里以及为啥有用? [复制]
Posted
技术标签:
【中文标题】软堆:它在哪里以及为啥有用? [复制]【英文标题】:Soft heap: where and why is it useful? [duplicate]软堆:它在哪里以及为什么有用? [复制] 【发布时间】:2021-01-03 19:02:02 【问题描述】:来自我正在阅读的论文 Bernard chazelle https://www.cs.princeton.edu/courses/archive/fall05/cos528/handouts/The%20Soft%20Heap.pdf
我没有发现软堆在实际场景中被大量使用。所以,如果有人能告诉我为什么它真的很有用,那将会很有帮助。
【问题讨论】:
在实践中它没有用。很难使用会给出不可预测的错误答案的数据结构,而且鉴于改进非常有限,我认为没有人会费心去尝试。 【参考方案1】:我没有红文章,只有摘要和我引用
软堆可用于优化计算精确或近似的中位数和百分位数。它对于近似排序和计算一般图的最小生成树也很有用。
所以它在图形算法或中位数计算中有一些用途。
在图算法中,有一种流行的算法称为“Prim 算法”,它可以找到一般图的最小生成树。我不是 100% 确定,但我认为在这个算法中使用了软堆。
您可能熟悉普通的旧堆,它的快速计算响应时间非常强大。似乎 Soft Heap 共享相同的属性。
【讨论】:
以上是关于软堆:它在哪里以及为啥有用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 strpos 有用/使用,它在这个例子中有啥好处? [关闭]
非常大的 numpy 数组不会引发内存错误。它在哪里生活? [复制]
当我期望它在 forEach 中时,为啥 node.js 不等待? [复制]
为啥 GetHashCode 很重要,我们可以在哪里使用它? [复制]