二叉树- SQL 到 Java 表示
Binary tree- SQL to Java representation
我在 SQL 中有这个树数据结构表示,我想显示数据,在 Java 中每个节点都有正确的关系,所以我可以对它们进行任何搜索算法。
所以,我认为使用左右列可以将一般树转换为二叉树,这样可以更容易地在它们上应用更多搜索算法。
此外,我希望能够进行不同的操作,例如 add/remove 根、节点、叶。
我是编程新手,所以这是我的 类
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
}
我试图将数据库中的值分配给对应的左右。但我没有成功。原因?因为我不知道要为根和叶分配什么。我知道如果我使用值我可以这样做(二叉树代码但从键盘插入值)
<!-- 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
中的二叉树
我在 SQL 中有这个树数据结构表示,我想显示数据,在 Java 中每个节点都有正确的关系,所以我可以对它们进行任何搜索算法。
所以,我认为使用左右列可以将一般树转换为二叉树,这样可以更容易地在它们上应用更多搜索算法。
此外,我希望能够进行不同的操作,例如 add/remove 根、节点、叶。
我是编程新手,所以这是我的 类
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
}
我试图将数据库中的值分配给对应的左右。但我没有成功。原因?因为我不知道要为根和叶分配什么。我知道如果我使用值我可以这样做(二叉树代码但从键盘插入值)
<!-- 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
中的二叉树