首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heap_size in heap_sort

Heap_size in heap_sort
EN

Stack Overflow用户
提问于 2013-10-10 09:45:57
回答 1查看 764关注 0票数 1

我正在阅读Cormen的“算法简介”,我正在尝试实现堆排序,但有一件事我一直无法理解:我们如何计算给定数组的heap_size?我的教科书上说

表示堆的数组A是一个具有两个属性的对象: A.length (和往常一样)给出数组中的元素数;A-堆大小,它表示堆中存储在数组A中的元素的数量。也就是说,尽管A1。A.length可以包含数字,只有A1.A堆大小中的元素,其中0 <= A堆大小<= A.length是堆的有效元素。

如果我将一个数组实现为std::vector<T> Arr,那么它的‘大小将是Arr.size,但是它的’heap_size‘是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-10 09:59:19

堆大小应该是一个单独存储的变量,由您自己管理。

无论何时从堆中移除或添加到堆中,都应该适当地减少或增加该值。

在C++中,使用vector,您实际上可以使用size,因为底层表示形式是一个至少与向量大小一样大的数组,如果使用更小的大小调用resize,则保证保持相同的大小。(因此,基础数组将是数组大小,向量大小将是堆大小)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19292396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档