我在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
}
答案 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中的二叉树