Java中二叉树的遍历

来源:互联网 发布:数据挖掘研究现状 编辑:程序博客网 时间:2024/05/16 05:23

划重点:Java中类的命名是不区分大小写的。我刚开始两个类的差别就是一个用了大写一个是小写,然后一直显示找不到主类,黑人问号脸。。。

package Practice;class BinTree{int data;BinTree left;BinTree right;public BinTree(int data) {this.data=data;this.left=null;this.right=null;}//比根节点小的树放在节点左边,比它大的数放在右边public static void insert(BinTree root,int d) {if(d>root.data) {if(root.right!=null)insert(root.right,d);elseroot.right=new BinTree(d);}else {if(root.left!=null)insert(root.left,d);elseroot.left=new BinTree(d);}}}public class binaryTree {public static void preOrder(BinTree root) {if(root!=null) {System.out.print(root.data+"--");preOrder(root.left);preOrder(root.right);}}public static void inOrder(BinTree root) {if(root!=null) {inOrder(root.left);System.out.print(root.data+"--");inOrder(root.right);}}public static void pastOrder(BinTree root) {if(root!=null) {pastOrder(root.left);pastOrder(root.right);System.out.print(root.data+"--");}}public static void main(String args[]) {int []array= {12,76,35,22,16,48,90,46,9,40};BinTree myTree=new BinTree(array[0]);for(int i=1;i<array.length;i++)myTree.insert(myTree, array[i]);preOrder(myTree);System.out.println();inOrder(myTree);System.out.println();pastOrder(myTree);System.out.println();}}

二叉树的各个遍历顺序:

前序遍历:先输出中间节点,再遍历左子树,再遍历右子树

中序遍历:先输出左子树,再输出中间节点,再遍历右子树

后序遍历:先输出左子树,再输出右子树,再输出中间节点。

阅读全文
0 0
原创粉丝点击