gpt4 book ai didi

c++ - 堆二叉树是否必须完成才能成为堆?

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:59 25 4
gpt4 key购买 nike

我对 C++ 中的堆有一点困惑,我想更好地理解它。

二叉树必须是完整的(满二叉树)才能被归类为堆吗?

堆一定是完全二叉树吗?教授的回答是否定的,但我没有和教授核实过。

网上资源state heaps的定义是必须是完全二叉树。我的教授说堆是具有两个特殊属性的二叉树。

最佳答案

我假设您特别关心二进制堆。

在键排序属性之上,二叉树的最低层必须是左对齐的,而上面的所有层都必须是满的才能被归类为二叉堆。最低级别不必是满的。这种二叉树通常表示为完整,如果最低层已满,则表示为完美

但是,如果您担心 C++ 实现,我想确切的术语并不是您所追求的——二叉堆很适合使用数组轻松实现,而且它适用于完整的二叉树,而不仅仅是完美的二叉树。

关于c++ - 堆二叉树是否必须完成才能成为堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50429969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com