加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:36:44 所属栏目:Java 来源:网络整理
导读:这是我用粗略的草图绘制出具有任意值的堆的开始 0 1 2 3 4 5 6 7 8 9 ...[-] [10] [14] [15] [22] [21] [24] [23] [44] [30] ... 为什么array [0]中的元素总是被设置为null? 或者为什么我们不应该使用它? 解决方法 有几种方法可以将二进制堆表示为数组. 有
这是我用粗略的草图绘制出具有任意值的堆的开始
0   1    2    3    4    5    6    7    8    9   ...
[-] [10] [14] [15] [22] [21] [24] [23] [44] [30] ...

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

解决方法

有几种方法可以将二进制堆表示为数组.

有一种使用元素零的方式;还有一种方法是不使用元素零点:

> root是元素0;元素n的子元素是元素2n 1和2n 2;
> root是元素1;元素n的子元素是元素2n和2n 1.

两者都不比其他人更“正确”.前者更适合使用zero-based arrays的编程语言,而后者更适合使用one-based arrays的语言.

看来你遇到了使用第二种方法的实现.由于所讨论的语言,Java使用基于零的数组,元素零存在但未被使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读