我目前正在实现 ArrayList
基于binary tree in Java
。我试图弄清楚如何做到这一点,但我遇到了困难。有一堆methods
在 class
我应该实现,但每次我尝试一些东西时,它似乎都不起作用。
我们有Position objects
由 Position<E>
标识。在此class
我们有一个 array list
即private
,以及 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 child
和right child of a node
。我熟悉ArrayList
,但在实现 binary tree class
时则不然和他们在一起。
我将如何实现这些方法?我被困住了,如果能得到任何帮助,我将不胜感激。
谢谢!
最佳答案
当您将二叉树编写为数组时,您正在构建通常称为堆的东西。堆有相当详细的文档记录,本文将为您提供有关它们如何实现的大量详细信息:
关于java - 基于 ArrayList 的二叉树 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925103/