二叉树 - SQL到Java表示

时间:2015-05-14 15:17:44

标签: java sql tree nested binary-search-tree

我在SQL中有这个树数据结构表示,我希望显示数据,以及Java中每个节点的正确关系,这样我就可以对它们进行任何搜索算法。

所以,我认为使用左右列我可以将一般树转换为二叉树,这样就可以更容易地在它们上应用更多的搜索算法。

此外,我希望能够进行不同的操作,例如添加/删除root,节点,叶子。

我是编程的新手,所以这是我的课程

public class Node {

    private int id;
    private String name;
    private int leftId;
    private int rightId;
    private int deepth;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLeftId() {
        return leftId;
    }

    public void setLeftId(int leftId) {
        this.leftId = leftId;
    }

    public int getRightId() {
        return rightId;
    }

    public void setRightId(int rightId) {
        this.rightId = rightId;
    }

    public int getDeepth() {
        return deepth;
    }

    public void setDeepth(int deepth) {
        this.deepth = deepth;
    }//con statement
            List<Node> nodes  = new ArrayList<>();
            while(rs.next())
            {Node nodes = new Node();
            nodes.setname( rs.getString("name"));
            //other 
            nodes.add(nodes);
            }
            return nodes;
}
public class tree{
//here i need help
}

1 个答案:

答案 0 :(得分:0)

我尝试将数据库中的值分配给左右相应。但我没有成功。原因?因为我不知道要为根和叶子做什么。我知道,如果我使用值,我可以这样做(二进制树的代码,但从键盘插入值)

    <!-- language: Java-->
   class TreeNode<E> {
    protected E element;
    protected TreeNode<E> left;
    protected TreeNode<E> right;
    public TreeNode(E e) {
    element = e;
    }
    }// Create the root node
    TreeNode<Integer> root = new TreeNode<>(60);
    // Create the left child node
    root.left = new TreeNode<>(55);
    // Create the right child node
    root.right = new TreeNode<>(100);
-But i don't know how to get it from db in lists and assign them so i can use them

@Sasha Salauyou我试图将我的数据库中的普通树转换为java中的二叉树