gpt4 book ai didi

java - 为什么不使用堆数组的元素零?

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:34 26 4
gpt4 key购买 nike

这是我对具有任意值的堆开始的粗略草图

 0   1    2    3    4    5    6    7    8    9   ...
[-] [10] [14] [15] [22] [21] [24] [23] [44] [30] ...

为什么array[0]中的元素一定要设置为null?
或者为什么我们不应该使用它?

最佳答案

有几种方法可以将二叉堆表示为数组。

有一种方法可以使用元素零;还有一种方法可以使用元素零:

  1. 根是元素0;元素 n 的子元素是元素 2n+12n+2
  2. 根是元素1;元素 n 的子元素是元素 2n2n+1

没有一个比另一个更“正确”。前者更适合使用 zero-based arrays 的编程语言。 , 而后者更适合带有 one-based arrays 的语言.

您似乎遇到了使用第二种方法的实现。由于所讨论的语言 Java 使用从零开始的数组,元素零存在但未被使用。

关于java - 为什么不使用堆数组的元素零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462003/

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