堆实际上是堆吗?

new*_*ing 18 .net java memory-management

可能重复:
为什么两个不同的概念都称为"堆"?
"a"堆和"堆"之间的关系是什么?

在.NET(和我所知的Java)中,动态分配对象的区域称为托管堆.但是,大多数描述托管堆如何工作的文档将其描述为线性数据结构,例如链表或堆栈.

那么,托管堆实际上是,还是用其他一些数据结构实现?如果它实际上没有使用堆数据结构,那么术语的重大失败似乎会使这个词的含义过载.

如果它实际上是一个堆数据结构,那么满足堆属性的值是什么:分配的内存区域的大小是多少?

Mar*_*wis 14

不,堆根本不是堆排序的二叉树.我不清楚(对我而言)术语冲突的错误,但是堆的使用都可以追溯到几十年前(1970年中期,它出现).本文将讨论一些历史记录.