然后遍历根节点A;
最后,依照中序遍历左子树的方式中序遍历右子树:
右子树遍历结果:左子树G->右子树M->根节点C->右子树H->左子树I->根节点D->右子树J
综合三个遍历结果,就是最终的中序遍历结果。
至于后序遍历的求解,请依照先序遍历以及中序遍历自行理解完成~~
二叉树遍历的性质:
1、已知前序遍历和中序遍历,可以唯一的确定一个二叉树;
2、已知后序遍历和中序遍历,可以唯一的确定一个二叉树;
下边是用java代码实现的二叉查找树。
首先是节点对象定义:
/**
* 树节点
*/
public class TreeNode {
private TreeNode mLeft;
private TreeNode mRight;
private int mValue;
private boolean isDeleted;
public TreeNode(int value) {
this(null,null,value,false);
}
public TreeNode(TreeNode left, TreeNode right, int value, boolean isDeleted) {
mLeft = left;
mRight = right;
mValue = value;
this.isDeleted = isDeleted;
}
public TreeNode getLeft() {
return mLeft;
}
public void setLeft(TreeNode left) {
mLeft = left;
}
public TreeNode getRight() {
return mRight;
}
public void setRight(TreeNode right) {
mRight = right;
}
public int getValue() {
return mValue;
}
public void setValue(int value) {
mValue = value;
}
public boolean isDeleted() {
return isDeleted;
}
public void setDeleted(boolean deleted) {
isDeleted = deleted;
}
}
接下来是树结构的实现,包括插入,查找,以及三种递归遍历。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-63033-2.html
证明我们有足够的实力保卫国家的任何一寸土地