算法基本思想:首先分析二叉树的深度和它的左、右子树深度之间的关系。

从二叉树深度的定义可知,二叉树的深度应为其左、右子树深度的最大值加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;

}

相关文章:

  • 2022-12-23
  • 2021-11-13
  • 2021-06-03
  • 2022-12-23
  • 2022-01-22
  • 2021-11-04
  • 2021-12-18
猜你喜欢
  • 2021-11-21
  • 2021-05-18
  • 2022-12-23
  • 2021-04-17
  • 2021-09-07
  • 2022-12-23
相关资源
相似解决方案