java前序遍历代码,java前序遍历

java 二叉树前序遍历

//类Node定义二叉树结点的数据结构;

创新互联服务紧随时代发展步伐,进行技术革新和技术进步,经过10年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行成都网站设计、做网站、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。

//一个结点应包含结点值,左子结点的引用和右子结点的引用

class Node{

public Node left; //左子结点

public Node right; //右子结点

public int value; //结点值

public Node(int val){

value = val;

}

}

public class Traversal

{

//read()方法将按照前序遍历的方式遍历输出二叉树的结点值

//此处采用递归算法会比较简单,也容易理解,当然也可以用

//循环的方法遍历,但会比较复杂,也比较难懂。二叉树遍历

//用递归算法最为简单,因为每个结点的遍历方式都是,根,

//左,右,递归的调用可以让每个结点以这种方式遍历

public static void read(Node node){

if(node != null){

System.out.println(node.value);//输出当前结点的值

if(node.left != null)

read(node.left); //递归调用 先读左结点

if(node.right != null)

read(node.right); //递归调用 后读右结点

}

}

public static void main(String[] args){

//初始化5个结点,分别初始值为1,2,3,4,5

Node n1 = new Node(1);

Node n2 = new Node(2);

Node n3 = new Node(3);

Node n4 = new Node(4);

Node n5 = new Node(5);

//构建二叉树,以n1为根结点

n1.left = n2;

n1.right = n5;

n2.left = n3;

n2.right = n4;

read(n1);

}

}

注释和代码都是我自己写的,如果楼主觉得有的注释多余可以自己删除一些!代码我都编译通过,并且运行结果如你提的要求一样!你只要把代码复制编译就可以了,注意要以文件名Traversal.java来保存,否则编译不通过,因为main函数所在的类是public类型的!

java编程怎么让一个数组前序遍历输出

可以通过计算出二叉树所在节点的元素顺序,然后再数组中通过树节点的顺序值也就是下标,拿到元素。

Java 先、中、后序遍历方法的实现

前pre(root)

{ if(root==null)return null;

visit(root);pre(root.left);pre(root.right);

}

中in(root)

{ if(root==null)return null;

in(root.left);visit(root);in(root.right);

}

后post(root)

{ if(root==null)return null;

post(root.left);post(root.right);visit(root);

}


网站标题:java前序遍历代码,java前序遍历
地址分享:http://hbruida.cn/article/hojhep.html