具有包含链表的节点的Java二进制搜索树

具有包含链表的节点的Java二进制搜索树,java,linked-list,binary-search-tree,Java,Linked List,Binary Search Tree,我正在尝试编写一个Java程序,该程序将使用二元搜索树创建一个数据库,该二元搜索树的钥匙将是一辆汽车的品牌(例如雪佛兰)。该节点将包含一个链表,该链表将包含有关汽车的更详细信息 我的汽车被添加到一个名为DBTreeNode的链表类中 我是否可以修改BST实现,使节点的数据成为一个链表?一个选项是将您的DBTreeNode列表添加为BST节点的成员以及其他字段,如左、右等。。。然后为DBTreeNode添加访问器(getter、setter)。希望这有帮助。祝你好运 以下是一个例子: public

我正在尝试编写一个Java程序,该程序将使用二元搜索树创建一个数据库,该二元搜索树的钥匙将是一辆汽车的品牌(例如雪佛兰)。该节点将包含一个链表,该链表将包含有关汽车的更详细信息

我的汽车被添加到一个名为DBTreeNode的链表类中


我是否可以修改BST实现,使节点的数据成为一个链表?

一个选项是将您的DBTreeNode列表添加为BST节点的成员以及其他字段,如左、右等。。。然后为DBTreeNode添加访问器(getter、setter)。希望这有帮助。祝你好运

以下是一个例子:

public class BST<Key extends Comparable<Key>, Value> {
    private Node root;             // root of BST

    private class Node {
        private Key key;           // sorted by key
        private Value val;         // associated data
        private Node left, right;  // left and right subtrees
        private int N;             // number of nodes in subtree
    private DBTreeNode VehicleDetails; // your list

        public Node(Key key, Value val, int N) {
            this.key = key;
            this.val = val;
            this.N = N;
    this.VehicleDetails = new DBTreeNode(); // initialize your list
        }

    public DBTreeNode getDetails(){
        return this.VehicleDetails; 
    }

    public void addDetails(DBTreeNode details){
        for(DBTreeNodeElement detail : details) this.VehicleDetails.add(detail);
    }
    }
公共类BST{
私有节点根;//BST的根
私有类节点{
私钥;//按密钥排序
私有值val;//关联的数据
私有节点左、右;//左、右子树
private int N;//子树中的节点数
私有DBTreeNode VehicleDetails;//您的列表
公共节点(Key,Value val,int N){
this.key=key;
this.val=val;
这个,N=N;
this.VehicleDetails=new DBTreeNode();//初始化列表
}
公共数据库树节点getDetails(){
返回此。车辆详细信息;
}
公共void addDetails(DBTreeNode详细信息){
对于(DBTreeNodeElement详细信息:详细信息)此.VehicleDetails.add(详细信息);
}
}

谢谢这正是我所想的,我只是在实现中感到困惑。我来试一试。这有助于我开始。现在我唯一的问题是我在遍历树以查看细节添加是否正确时遇到困难。我是否缺少一个可以尝试的easy-toString方法?事实上,我已经找到了它。谢谢你的帮助你的帮助!