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

How to create a Complete Binary Tree in Java

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

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

如何用队列这样的方式编码?

您的 BST 应如下所示。我将跳过方法主体 ofc。您可以有两个不同的 classes - 用于根和节点。我将向您展示一个 class 实现的模式。

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,只需在评论中要求澄清即可。请足够具体,所以我知道你的疑问是什么。