包含链接列表的节点的Java二进制搜索树

时间:2014-11-20 20:15:30

标签: java linked-list binary-search-tree

我正在尝试编写一个Java程序,它将使用二进制搜索树创建一个数据库,其键将是汽车的制造商(例如雪佛兰)。该节点将包含一个链接列表,其中包含有关汽车的更多详细信息。

我的汽车被添加到名为DBTreeNode的链接列表类中。

我可以修改BST实现here,使节点的数据成为链接列表吗?

1 个答案:

答案 0 :(得分:1)

一个选项是将您的DBTreeNode列表添加为BST节点的成员以及其他字段,如Left,Right等...然后为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);
    }
    }