求二叉樹的深度

算法基本思想:首先分析二叉樹的深度和它的左、右子樹深度之間的關係。算法

從二叉樹深度的定義可知,二叉樹的深度應爲其左、右子樹深度的最大值加1。二叉樹

由此,需先分別求得左、右子樹的深度,算法中「訪問結點」的操做改成:求得左、右子樹深度的最大值,而後加1 。return

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;

}

相關文章
相關標籤/搜索