概要:本文整理了先序,中序,后续遍历算法的递归实现与非递归实现,同时会涉及到实现的原理,编程语言使用的是Java。
二叉树遍历的递归实现
节点结构如下:
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);
}
二叉树的中序遍历-递归
public static void inOrderRecur(Node head) {
if (head == null) {
return;
}
inOrderRecur(head.left);
System.out.print(head.value + " ");
inOrderRecur(head.right);
}
二叉树的后序遍历-递归
public static void posOrderRecur(Node head) {
if (head == null) {
return;
}