您的位置:首页 > 其它

二叉树的遍历(1)--先序遍历,中序遍历,后序遍历

2016-08-30 18:33 393 查看
对于二叉树



代码结构:

public static class Node {
public int value;
public Node left;
public Node right;

public Node(int data) {
this.value = data;
}
}


一个节点包含左子节点,右子节点

一般情况下我们使用递归算法对二叉树进行遍历:先序遍历,中序遍历,后序遍历

先序遍历

public static void preOrderRecur(Node head) {
if (head == null) {
return;
}
System.out.print(head.value + " ");
preOrderRecur(head.left);
preOrderRecur(head.right);
}


分析如下:



1.首先输出首节点12的值

2.一直递归对左右子节点进行相同操作,总是完成左子节点的遍历再进行右子节点的遍历

3.重复2直至节点为空,然后一步一步向上返回。

先序遍历:12 24 40 56 55 50 35 66 70

中序遍历

public static void inOrderRecur(Node head) {
if (head == null) {
return;
}
inOrderRecur(head.left);
System.out.print(head.value + " ");
inOrderRecur(head.right);
}


中序遍历:56 40 55 24 50 12 66 35 70

后续遍历

public static void posOrderRecur(Node head) {
if (head == null) {
return;
}
posOrderRecur(head.left);
posOrderRecur(head.right);
System.out.print(head.value + " ");
}


后序遍历:56 55 40 50 24 66 70 35 12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐