【发布时间】:2013-10-04 06:50:18
【问题描述】:
我有一个关于堆排序的问题。它在算法书中指出A.heap-size<= A.length
我不明白两者之间的区别。如果一个数组代表一个堆,为什么A.heap-size 有可能小于A.length。我知道A.heap-size代表堆内的元素个数,那为什么不完全只等于数组内的项数呢?
【问题讨论】:
-
听起来你书中的堆排序实现使用数组的第一个“部分”作为堆,将数组的第二个“部分”用于排序的元素。堆以
A.length元素开始,但是当您删除最大元素时......堆会缩小。
标签: arrays algorithm data-structures heap