java平衡树
1. 用java怎么构造一个二叉树
定义一个结点类:x0dx0apublic class Node {x0dx0a private int value;x0dx0a private Node leftNode;x0dx0a private Node rightNode;x0dx0a x0dx0a public Node getRightNode() {x0dx0a return rightNode;x0dx0a }x0dx0a public void setRightNode(Node rightNode) {x0dx0a this.rightNode = rightNode;x0dx0a }x0dx0a public int getValue() {x0dx0a return value;x0dx0a }x0dx0a public void setValue(int value) {x0dx0a this.value = value;x0dx0a }x0dx0a public Node getLeftNode() {x0dx0a return leftNode;x0dx0a }x0dx0a public void setLeftNode(Node leftNode) {x0dx0a this.leftNode = leftNode;x0dx0a }x0dx0a x0dx0a}x0dx0a x0dx0a初始化结点树:x0dx0apublic void initNodeTree()x0dx0a {x0dx0a int nodeNumber;x0dx0a HashMap
2. 怎么用java编写一个圣诞树,我有图,帮我改下就行
您好!我没有懂您为什么这么写,我写了一个简单易懂的,代码如下:
System.out.println("*");
System.out.println("* *");
System.out.println("**");
System.out.println("**");
System.out.println("*********");
System.out.println("**");
System.out.println("**");
System.out.println("**");
System.out.println("**");
格式有问题。。。,您看图吧:
3. java的JTree的使用方法,
JTree组件被用来以树的形式显示数据,一层套一层,看起来清晰明了,使用户很方便地就了解到各个节点之间的层次关系,可以很容易地找到相关的数据。
例如 Windows 系统的文件管理器,它就是一个典型的树层次结构。
JTree的构造函数:
·JTree() 建立一棵默认的树。
·JTree(Hashtable data) 利用Hashtable建立树。
·JTree(Object[] data) 利用数组建立树。
·JTree(TreeModel model) 利用TreeModel建立树。
·JTree(TreeNode root) 建立以root为根的树。
·JTree(TreeNode root,Boolean children) 建立以 root 为根的树,并设定是否允许有子节点。
·JTree(Vector value) 利用Vector建立树。
使用一个JTree可以简单地像下面这样表示:
importjavax.swing.JFrame;
importjavax.swing.JTree;
importjavax.swing.event.TreeSelectionEvent;
importjavax.swing.event.TreeSelectionListener;
importjavax.swing.tree.DefaultMutableTreeNode;
publicclassTreeDemo{
publicstaticvoidmain(String[]args){
//创建没有父节点和子节点、但允许有子节点的树节点,并使用指定的用户对象对它进行初始化。
//publicDefaultMutableTreeNode(ObjectuserObject)
DefaultMutableTreeNodenode1=newDefaultMutableTreeNode("软件部");
node1.add(newDefaultMutableTreeNode(newUser("小花")));
node1.add(newDefaultMutableTreeNode(newUser("小虎")));
node1.add(newDefaultMutableTreeNode(newUser("小龙")));
DefaultMutableTreeNodenode2=newDefaultMutableTreeNode("销售部");
node2.add(newDefaultMutableTreeNode(newUser("小叶")));
node2.add(newDefaultMutableTreeNode(newUser("小雯")));
node2.add(newDefaultMutableTreeNode(newUser("小夏")));
DefaultMutableTreeNodetop=newDefaultMutableTreeNode("职员管理");
top.add(newDefaultMutableTreeNode(newUser("总经理")));
top.add(node1);
top.add(node2);
finalJTreetree=newJTree(top);
JFramef=newJFrame("JTreeDemo");
f.add(tree);
f.setSize(300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//添加选择事件
tree.addTreeSelectionListener(newTreeSelectionListener(){
@Override
publicvoidvalueChanged(TreeSelectionEvente){
DefaultMutableTreeNodenode=(DefaultMutableTreeNode)tree
.getLastSelectedPathComponent();
if(node==null)
return;
Objectobject=node.getUserObject();
if(node.isLeaf()){
Useruser=(User)object;
System.out.println("你选择了:"+user.toString());
}
}
});
}
}
classUser{
privateStringname;
publicUser(Stringn){
name=n;
}
//重点在toString,节点的显示文本就是toString
publicStringtoString(){
returnname;
}
}
4. 怎样用Java实现一个多叉树数据结构
这是一个典型的多叉树问题! 最早的祖先用根节点表示,以下依次是他的/她的子女。这个就组成一棵树。 每一棵树的数据包括了: 名称、父节点指针、第一个孩子的指针、配偶指针、下一个兄弟姐妹的指针