java - 基于 ArrayList 的二叉树 - Java

标签 java arraylist binary-tree

我目前正在实现 ArrayList基于binary tree in Java 。我试图弄清楚如何做到这一点,但我遇到了困难。有一堆methodsclass我应该实现,但每次我尝试一些东西时,它似乎都不起作用。

我们有Position objectsPosition<E> 标识。在此class我们有一个 array listprivate ,以及 root variable ,两者 accessible仅此class ,所以size() method ,以及isEmpty()方法很简单。但是,在实现以下方法时我遇到了一些麻烦:hasLeft(Position<E>) , hasRight(Position<E>) left(Position<E>), right(Position<E>), addRoot(E e)等等... Left 和 Right 方法仅返回 left childright child of a node 。我熟悉ArrayList ,但在实现 binary tree class 时则不然和他们在一起。

我将如何实现这些方法?我被困住了,如果能得到任何帮助,我将不胜感激。

谢谢!

最佳答案

当您将二叉树编写为数组时,您正在构建通常称为堆的东西。堆有相当详细的文档记录,本文将为您提供有关它们如何实现的大量详细信息:

http://en.wikipedia.org/wiki/Binary_heap

关于java - 基于 ArrayList 的二叉树 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925103/

相关文章:

java - 在java中使用RegEx解析CSV - 在单元格内转义双引号

java - 如何在Android Studio中使用OpenCV检测和计数随机大小的白色物体

java - mssql-jdbc-6.3.4.jre8-preview.jar 没有 sqljdbc_auth.dll

Scala:具有复杂结构的树插入尾递归

java - level-order, tree traversal - 如何跟踪级别?

java.util.ConcurrentModificationException : Unexpected List modification while multithreading?

java - 根据类别拆分数组列表的最佳方法

java - 如何删除arraylist重复值

java - 构建二叉树

android - 将 JSON 从/assets 文件夹读取到 Android 中的 ArrayList 中?