软堆:什么是腐败,为什么有用?

时间:2014-09-30 16:55:50

标签: data-structures heap corruption soft-heap

我最近阅读了Bernard Chazelle的论文“The Soft Heap,Bernard Chazelle提出的具有最佳错误率的近似优先级队列”(http://www.link.cs.cmu.edu/15859-f07/papers/chazelle-soft-heap.pdf

该文件谈到了很多关于“腐败”的内容。什么是腐败,元素如何被破坏,以及它如何帮助你?

我花了很多时间阅读论文和谷歌搜索,这仍然没有意义。

1 个答案:

答案 0 :(得分:2)

答案在第二页:

"软堆可以随时增加某些键的值。这样的钥匙,和 通过扩展,相应的项目被称为已损坏。腐败完全是 由数据结构决定,用户无法控制它。 当然,findmin返回最小的当前密钥,可能会也可能不会 被腐败了。好处是速度:在堆更新期间,项目一起旅行 以“汽车共享”形式的数据包,以节省时间。 从信息论的角度来看,腐败是一种减少的方式 数据的熵存储在数据结构中,从而方便了它 治疗。熵定义为数量的基数为2的对数 不同的密钥分配(即密钥上均匀分布的熵) 分配)。为了看到这个想法的健全性,将它推到极限,观察 如果通过将其值增加到`,那么每个键都被破坏了,然后是一组键 将具有零熵并且我们可以平常地执行所有操作 时间。有趣的是,软堆表明熵不需要降到零 变得不变的复杂性。"

这是一个弄巧成拙的数据结构吗?