【數(shù)據(jù)結(jié)構(gòu)填空題】關(guān)于遞歸求二叉樹度為2的數(shù)目【C/C++編程】

【數(shù)據(jù)結(jié)構(gòu)填空題】關(guān)于遞歸求二叉樹度為2的數(shù)目【C/C++編程】

前言:
昨天跟同學(xué)研究這道題目;然后一直在想,想出來了很多種,但是都是由于第二個if的原因最后遞歸調(diào)用不到.
因?yàn)槲沂菑牡拖蛏先ハ脒@道題目的,然后填空的.最后還是經(jīng)過不斷努力還是想出來了.

題目如下:
二又鏈表類型定義:
typedef struct BiTNode{
TElemType data;
struct BiTNode lchild,rchild;
},BiTNode,BiTree;
算法binode (BiTree T)實(shí)現(xiàn)計算二叉樹T中度為2的節(jié)點(diǎn)數(shù)目.
請在空確處填寫合適的內(nèi)容,使其成為完整的算法。
int binode (BiTree T)/
計算二叉樹T中度為2的結(jié)點(diǎn)的數(shù)目*/
{
if(NULL==T)return (1);
if((2))return1;
return binode(T->lchild)+binode(3)
}

題目:二又鏈表類型定義:

typedef struct BiTNode{
  TElemType data;
  struct BiTNode *lchild,*rchild;
},BiTNode,*BiTree;

/*
算法binode (BiTree T)實(shí)現(xiàn)計算二叉樹T中度為2的節(jié)點(diǎn)數(shù)目.
請在空確處填寫合適的內(nèi)容,使其成為完整的算法。
*/
int binode (BiTree T)/*計算二叉樹T中度為2的結(jié)點(diǎn)的數(shù)目*/
{
   if(NULL==T)return  (1);
   if((2))return1;
  return binode(T->lchild)+binode(3)
}
圖片版題目

我們先畫個二叉樹作參考(度為2的的數(shù)目為2個),本二叉樹的先序遍歷為A—B—D—E—C—F—G


度為2的的數(shù)目為2個
int binode(Bitree T) {
    if (T == NULL) return 0;
    if (T->lchild != NULL && T->rchild != NULL &&
    T->lchild->lchild == NULL && T->lchild->rchild == NULL &&
        T->rchild->lchild == NULL  && T->rchild->rchild == NULL) return 1;
    printf("\t%c", T->data);
    return B(T->lchild) + B(T->rchild)+(T->rchild!=NULL && T->lchild!=NULL? 1:0);
}
  • 第一空:0
  • 第二空:T->lchild != NULL && T->rchild != NULL &&T->lchild->lchild == NULL && T->lchild->rchild == NULL &&T->rchild->lchild == NULL && T->rchild->rchild == NULL
    注:第二空也可直接寫false
  • 第三空:(T->rchild)+(T->rchild!=NULL && T->lchild!=NULL? 1:0)

運(yùn)行結(jié)果

運(yùn)行結(jié)果

在讓我們測試另一顆二叉樹

這是一棵有3個度為2的節(jié)點(diǎn)
先序遍歷為A—B—D—E—C—F—G—H

度為2的的數(shù)目為3個

運(yùn)行結(jié)果

運(yùn)行結(jié)果

以上為本人的答案;其實(shí)計算二叉樹度為2的數(shù)目,我們一般這樣寫

int binode(Bitree T) {
    if (T == NULL) return 0;
    if(T->lchild != NULL &&T->rchild != NULL)  return B(T->lchild)+B(T->rchild)+1;
    return B(T->lchild)+B(T->rchild);
}

具體我就不分析,大家自己研究一下吧~
我也要學(xué)習(xí)去了,考研人,考研魂,考研都是人上人.
考研加油!


學(xué)習(xí)

寫于:2021年11月13日上午09點(diǎn)
作者QQ:420318184
郵箱:fy@0fy0.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容