亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

二叉樹中葉子節(jié)點的統(tǒng)計和樹高問題

 更新時間:2019年03月04日 10:26:17   作者:baiduoWang  
今天小編就為大家分享一篇關于二叉樹中葉子節(jié)點的統(tǒng)計和樹高問題,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1、已知二叉樹以二叉鏈表進行存儲,其中結點的數(shù)據(jù)域為data,編寫算法,統(tǒng)計二叉樹中葉子結點值等于x的結點數(shù)目。

typedef struct BTNode 
{ 
  int data; 
  struct BTNode *lchild ; //左孩子指針 
  struct BTNode *rchild;  // 右孩子指針 
} BTNode;//二叉鏈表的結構
int num = 0;//用于統(tǒng)計有多少個結點的值與x的值相等
int CountLeaf (BTNode *P, int& num, int x)
{
  if ( P ) 
  {
    if (( P->lchild == NULL)&& ( P->rchild == NULL) && ( P->data == x))
      num++;   // 對葉子結點計數(shù)
    if (( !P->lchild) && ( !P->rchild))
    {
      CountLeaf( P->lchild, num, x); 
      CountLeaf( P->rchild, num, x);
    } 
  } 
  return num;
}

2、已知一棵二叉鏈表方式存儲的二叉樹,編寫算法計算二叉樹的高度。

typedef struct BTNode 
{ 
  int data; 
  struct BTNode *lchild ; //左孩子指針 
  struct BTNode *rchild;  // 右孩子指針 
} BTNode;//二叉鏈表的結構
int TreeHeight(BTNode *root)
{
  if (root == NULL)
  {
    return 1;  //如果是只有根節(jié)點,高度記為1
  }
  else
  {  //否則遞歸計算其左右孩子的高度然后在加上根節(jié)點的層數(shù)1
    return 1+max(TreeHeight(root->lchild),TreeHeight(root->rchild));
  }
}

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

相關文章

最新評論