如何在Java中创建完整的二进制树

时间:2016-11-13 15:16:57

标签: java queue binary-tree nodes

完整二叉树的简单实现是什么?这些值不会影响它们在树中的设置顺序。下面列出的是理想的。

        A
      /   \
     B     C
    / \   / \
   D   E F   G

如何以队列方式编写代码?

1 个答案:

答案 0 :(得分:0)

您的BST应如下所示。我将跳过c的方法体。您可以有两个不同的类 - 对于root和节点,或者不是。我将向您展示一个类实现的模式。

public class BinarySearchTreeNode<T extends Comparable<T>>{

    private T value;
    private BinarySearchTreeNode<T> left;
    private BinarySearchTreeNode<T> right;

    public BinarySearchTreeNode<T> insert(T t) {
        //your implementation here
    }
    public BinarySearchTreeNode<T> find(T t) {
        //your implementation here
    }
    public BinarySearchTreeNode<T> delete(T t) {
        //your implementation here
    }
    public void display(){
        //your implementation here
    }

    //getters, setters
}

您将需要:

  • 关于Java Generics
  • 的一些知识
  • 有关Comparable
  • 的基本知识
  • Cormen的算法简介或similar 请原谅,它甚至可能与维基百科相关联。

我附上了Java文档和维基百科的链接,让您感到舒适。如果您仍然无法写出您的BST,只需在评论中要求澄清。请具体到足够,所以我知道你的疑问是什么。