gpt4 book ai didi

c++ - 如何检查数组是否为最小堆?

转载 作者:可可西里 更新时间:2023-11-01 18:29:11 26 4
gpt4 key购买 nike

我有以下数组。如何检查包含 n 个元素的数组是否为最小堆? enter image description here

最佳答案

由于您的索引从 1 开始(索引 0 包含 0 - 为什么?),您可以按如下方式确定给定节点的子节点的索引:

  • 设给定节点的索引为i
  • i 的左 child 索引:2i
  • i 右 child 的索引:2i + 1

因此对于每个节点,您可以轻松检查两个子节点是否都大于节点本身。

关于c++ - 如何检查数组是否为最小堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38626816/

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