日期:2014-05-20 浏览次数:21015 次
public int height(BinaryTreeNode p) { //p是一个二叉树根节点的引用
if(p == null){
System.out.println("高度为0")
return 0;
}else{
return 1 + max(height(llink),height(rlink)); //这个LLINK 和RLINK分别是p的两个指针,指向左子树和右子树
}
}
左子树的高度height(llink)
右子树的高度height(rlink)
这两个高度当然要取更大的数 对吧
加上自己的节点 1:
本次递归的p------> O(p)
/ \
/ \
height(llink)------>左子树 右子树 <----------height(rlink)
总的高度 为 1 + max(height(llink),height(rlink));