树的创建
树有很多创建方式,本文采用二叉链表的创建方法
二叉树的三种遍历方法
前序遍历
规则是若二叉树为空,则空操作~否则先访间根结点,然后前序遍历左子树,再前序遍历右子树。上图所示树前序遍历结果为:ABDHKECFIG
public void preOrder(node p) {
System.out.print(p.data+" ");
if (p.lchild!=null) {
preOrder(p.lchild);
}
if(p.rchild!=null) {
preOrder(p.rchild);
}
}
中序遍历
规则是若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点的左子树,然后是访问根结点,最后中序遍历右子树。上图所示树中序遍历结果为:HKDBEAIFCGJ
public void inOrder(node p) {
if (p.lchild!=null) {
inOrder(p.lchild);
}
System.out.print(p.data+" ");
if(p.rchild!=null) {
inOrder(p.rchild)