Java中的BST节点

时间:2011-11-14 23:51:16

标签: java binary-search-tree

我在为二进制搜索树编写节点时遇到了一些麻烦。我知道它应该指向左子和右子,并且在数据字段中它将有一个字符串,但我也希望它指向一个arraylist。哪个部分我不确定如何在java中编写代码。

class BSTNode {

    BSTNode( Comparable theString ) {
        element = theString;
        left = right = null;
    }

    Comparable element;      // The data in the node
    BSTNode left;         // Left child
    BSTNode right;        // Right child
}

1 个答案:

答案 0 :(得分:3)

要在每个节点上都有ArrayList<String>,只需在节点类中添加ArrayList<String>字段,如下所示:

public class BSTNode {
    private String value;
    private ArrayList<String> listOfStrings;
    private BSTNode left;
    private BSTNode right;

    // Constructor and other methods here

}

然后,除了正常的BST方法之外,您可能还想为ArrayList<String>字段添加访问器和增变器方法。如何做到这一点显然取决于你打算用树做什么。

以下是向ArrayList<String>添加字符串的简单方法示例:

 public void addStringToList(String str) {
   this.listOfStrings.add(str);
 }

获取整个ArrayList<String>的方法示例:

 public ArrayList<String> getList() {
   return this.listOfStrings;
 }

这些方法将直接出现在BSTNode类的主体中。

如果我没有回答您的问题,请考虑修改您的问题以澄清问题。

相关问题