我这里的二叉树: 树中节点是有序的。 右子树>根节点>左子树
二叉树的遍历方式主要有:前序遍历、中序遍历、后序遍历、层次遍历
前序、中序、后序其实指的是父节点被访问的次序
前序遍历: 先根节点,在左子树,在右子树
中序遍历: 先左子树,在根节点,在右子树
后序遍历: 先左子树,在右子树,在根节点
遍历代码总结:
前序遍历
//前序遍历public void preorder(Node node) {if (node == null) return;System.out.print(node.data+"\t");preorder(node.leftChild);preorder(node.rightChild);}
中序遍历(遍历数组一样的.)
//中序遍历public void inorder(Node node) {if (node == null) return;inorder(node.leftChild);System.out.print(node.data+"\t");inorder(node.rightChild);}
后序遍历
//后序遍历public void postorder(Node node) {if (node == null) return;postorder(node.leftChild);postorder(node.rightChild);System.out.print(node.data+"\t");}
