var viewport = new Ext.Viewport( {
layout : 'border',
items : [
new Ext.Container({region : "left",width : 240,split:true,items : SBGLTree}),
new Ext.Container({region : "center",items : [SBJBXXGrid ,SBGZGrid]})
]
})
分析二叉树的深度(高度)和它的左、右子树深度之间的关系。从二叉树深度的定义可知,二叉树的深度应为其左、右子树深度的最大值加1。由此,需先分别求得左、右子树的深度,算法中“访问结点”的操作为:求得左、右子树深度的最大值,然后加 1 。
int Depth (BiTree T ){ // 返回二叉树的深度
if ( !T ) depthval = 0
else {
depthLeft = Depth( T->lchild )
depthRight= Depth( T->rchild )
depthval = 1 + (depthLeft >depthRight ?
depthLeft : depthRight)
}
return depthval
}
扩展资料:一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且或者最后一层是满的,或者是在右边缺少连续若干结点,则此二叉树为完全二叉树。具有n个结点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子结点,至多有2k-1个结点。
二叉树的深度是从根节点开始(其深度为1)自顶向下逐层累加的;而二叉树高度是从叶节点开始(其高度为1)自底向上逐层累加的。虽然树的深度和高度一样,但是具体到树的某个节点,其深度和高度是不一样的。
参考资料来源:百度百科—二叉树