最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

typedef struct BTNode 
{ 
  int data; 
  struct BTNode *lchild ; //左孩子指針 
  struct BTNode *rchild;  // 右孩子指針 
} BTNode;//二叉鏈表的結(jié)構(gòu)
int num = 0;//用于統(tǒng)計有多少個結(jié)點的值與x的值相等
int CountLeaf (BTNode *P, int& num, int x)
{
  if ( P ) 
  {
    if (( P->lchild == NULL)&& ( P->rchild == NULL) && ( P->data == x))
      num++;   // 對葉子結(jié)點計數(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;//二叉鏈表的結(jié)構(gòu)
int TreeHeight(BTNode *root)
{
  if (root == NULL)
  {
    return 1;  //如果是只有根節(jié)點,高度記為1
  }
  else
  {  //否則遞歸計算其左右孩子的高度然后在加上根節(jié)點的層數(shù)1
    return 1+max(TreeHeight(root->lchild),TreeHeight(root->rchild));
  }
}

總結(jié)

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

相關(guān)文章

  • 一文帶你了解C++中的右值引用與移動語義

    一文帶你了解C++中的右值引用與移動語義

    本篇文章主要為大家詳細(xì)介紹了C++中的右值引用與移動語義的相關(guān)知識,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2023-03-03
  • C++中使用mutable關(guān)鍵字的場景分析

    C++中使用mutable關(guān)鍵字的場景分析

    C++中的mutable關(guān)鍵字用于修飾類的成員變量,使其在const成員函數(shù)中可以被修改,它主要用于緩存、線程同步和調(diào)試等場景,以支持對象的邏輯常量性,在使用mutable時,應(yīng)確保其修改不會破壞對象的外部表現(xiàn)狀態(tài),本文介紹C++中使用mutable關(guān)鍵字的場景分析,感興趣的朋友一起看看吧
    2025-02-02
  • C語言的遞歸思想實例分析

    C語言的遞歸思想實例分析

    這篇文章主要介紹了C語言的遞歸思想,以一個實例的形式針對數(shù)據(jù)變化規(guī)律分析了遞歸思想的本質(zhì),需要的朋友可以參考下
    2014-09-09
  • 淺談C++STL之雙端隊列容器

    淺談C++STL之雙端隊列容器

    deque雙端隊列容器與vector很類似,采用線性表順序存儲結(jié)構(gòu)。但與vector區(qū)別,deque采用分塊的線性存儲結(jié)構(gòu)來存儲數(shù)據(jù),每塊的大小一般為512B,將之稱為deque塊,所有的deque塊使用一個map塊進(jìn)行管理,每個map數(shù)據(jù)項記錄各個deque塊的首地址。
    2021-06-06
  • C語言實現(xiàn)任何文件的加密解密功能

    C語言實現(xiàn)任何文件的加密解密功能

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)任何文件的加密解密功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Linux下C語言實現(xiàn)C/S模式編程

    Linux下C語言實現(xiàn)C/S模式編程

    這篇文章主要為大家詳細(xì)介紹了Linux下C語言實現(xiàn)C/S模式編程的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • C語言數(shù)據(jù)結(jié)構(gòu)之判斷循環(huán)鏈表空與滿

    C語言數(shù)據(jù)結(jié)構(gòu)之判斷循環(huán)鏈表空與滿

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之判斷循環(huán)鏈表空與滿的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C++ 中的new 和 delete 運(yùn)算符及new和malloc的區(qū)別解析

    C++ 中的new 和 delete 運(yùn)算符及new和malloc的區(qū)別解析

    在C++中,又引出了一個新玩法:new 和 delete,在C++中,new是用來動態(tài)開辟內(nèi)存的,delete是用來釋放我們所動態(tài)開辟的內(nèi)存C++中的new和delete運(yùn)算符及new和malloc的區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 一文弄懂C語言如何實現(xiàn)單鏈表

    一文弄懂C語言如何實現(xiàn)單鏈表

    單鏈表是由多個結(jié)點鏈接組成,它的每個結(jié)點包含兩個域,一個數(shù)據(jù)域和一個鏈接域(地址域),下面這篇文章主要給大家介紹了關(guān)于C語言如何實現(xiàn)單鏈表的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 在C語言里單引號和雙引號的區(qū)別

    在C語言里單引號和雙引號的區(qū)別

    這篇文章主要介紹了在C語言里單引號和雙引號的區(qū)別,本文通過代碼的實例和注釋的詳細(xì)的說明了單引號和雙引號的概念與區(qū)別,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評論

镇坪县| 武汉市| 岳西县| 利辛县| 旅游| 乌苏市| 罗定市| 淮南市| 日照市| 临漳县| 承德市| 阜新市| 通榆县| 黄浦区| 赣榆县| 鄂托克旗| 泰宁县| 英吉沙县| 铁岭县| 陈巴尔虎旗| 昌黎县| 鲜城| 祁连县| 祁东县| 台安县| 得荣县| 六安市| 囊谦县| 汉寿县| 富川| 昌邑市| 彰化市| 海丰县| 曲阜市| 土默特左旗| 延安市| 婺源县| 年辖:市辖区| 怀化市| 彰化县| 昌黎县|