是否有可能将多个节点链接到单个节点?
问题描述:
我试图根据链表制作一个树结构。由于链表只能直接指向下一个节点(对于单链表),我想修改链表的概念。是否可以指向多个节点中的一个节点?是否有可能将多个节点链接到单个节点?
这里是一个图像中绘制
答
我认为下面将工作:
class Node {
Node sibling;
Node child;
Object item;
}
兄弟将指向下一个节点在平行的水平,孩子点上下级节点。
+0
是的,我想过这个,但是如何将兄弟节点指向编码中的父节点呢?因为当我有多个后代。我尝试使用列表
答
见下面我的实现:
package treeTest;
public class Node {
private Node left;
private Node right;
private String data;
public Node(String data) {
this.data = data;
left = null;
right = null;
}
public Node getLeft() {
return left;
}
public void setLeft(Node left) {
this.left = left;
}
public Node getRight() {
return right;
}
public void setRight(Node right) {
this.right = right;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
package treeTest;
public class Tree {
private Node root;
public Tree() {
root = null;
}
public void insert(String data) {
root = insert(root, data);
}
private Node insert(Node node, String data) {
if(node == null) {
// Then create tree
node = new Node(data);
} else {
if(data.compareTo(node.getData()) <= 0) {
node.setLeft(insert(node.getLeft(), data));
} else {
node.setRight(insert(node.getRight(), data));
}
}
return node;
}
}
package treeTest;
import java.util.Scanner;
public class TestTree {
public static void main(String[] args) {
// TODO Auto-generated method stub
Tree tree = new Tree();
tree.insert("Hurricane");
// Second level
tree.insert("Cat1");
tree.insert("Cat2");
tree.insert("Cat3");
}
}
有关详细信息结帐这个Java Program to Implement a Binary Search Tree using Linked Lists
Java没有指针 – krpra
嗯我想我应该使用一种不同的方法,而不是指向一个点 – sbot