【问题标题】:Binary tree- SQL to Java representation二叉树 - SQL 到 Java 表示
【发布时间】:2015-05-14 15:17:43
【问题描述】:

我在 SQL 中有这个树形数据结构表示,我想用 Java 中每个节点的正确关系显示数据,以便我可以对它们执行任何搜索算法。

所以,我认为使用左列和右列可以将一般树转换为二叉树,因此在它们上应用更多搜索算法会更容易。

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

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

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
}

【问题讨论】:

  • 那么,问题是什么?你尝试了什么,它在哪里失败了?错误或不希望的输出是什么?
  • 我建议对这种结构使用普通(不是二叉树)树,因为有些节点有超过 2 个子节点(例如 Deputy Comissioner 1)。
  • 我尝试将数据库中的值分配给对应的左右。但我没有成功。原因?因为我不知道要为根和叶评估什么。看我的回答
  • 该图片的 URL 已损坏。

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


【解决方案1】:

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

    <!-- 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 中的二叉树

【讨论】:

  • 欢迎任何反馈!
猜你喜欢
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 2010-12-07
相关资源
最近更新 更多