堆是怎么出现的?

时间:2018-01-26 22:00:40

标签: data-structures heap

我非常了解堆数据结构,之前将其用于各种应用程序。但只是想知道基本想法是如何产生的?一个人如何找出具有某些特定属性的非平凡结构?我们可以通过我们自己的案例中的类似想法发明一些新的结构吗?

1 个答案:

答案 0 :(得分:0)

第一次发布的堆结构用法似乎是Robert J. Floyd在他的算法113,Treesort,1962年:https://dl.acm.org/citation.cfm?doid=368637.368654。他的堆是一个传统的树,用节点指针实现。

J.W.J。威廉姆斯于1964年发布了一种算法Heapsort(算法232)。它将Floyd的基于节点的堆转换为我们都知道和喜爱的基于阵列的二进制堆。那是在1964年6月的ACM通讯中。我无法在ACM网站上找到指向该参考的链接。

他们都没有真正说出他是如何发现结构的。