欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、已知二叉樹以二叉鏈表進(jìn)行存儲(chǔ),其中結(jié)點(diǎn)的數(shù)據(jù)域?yàn)閐ata,編寫算法,統(tǒng)計(jì)二叉樹中葉子結(jié)點(diǎn)值等于x的結(jié)點(diǎn)數(shù)目。

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

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

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論