对于二叉树的遍历,最简单的就是递归遍历,同时仿照递归算法执行过程中递归工作栈的变化可写出对应的非递归算法。
首先建立二叉树的结构类
1 public class BiTree<T> { 2 private T data; 3 private BiTree<T> left; 4 private BiTree<T> right; 5 6 public BiTree(T data) { 7 this.data = data; 8 left = right = null; 9 } 10 11 public void setLeft(BiTree<T> left) { 12 this.left = left; 13 } 14 15 public void setRight(BiTree<T> right) { 16 this.right = right; 17 } 18 19 public void visit() { 20 System.out.print(data + " "); 21 } 22 23 public BiTree<T> getLeft() { 24 return left; 25 } 26 27 public BiTree<T> getRight() { 28 return right; 29 } 30 }