?? 習題-47.c
字號:
//本程序只給出了算法思想
//讀者可以自己完善本程序
typedef struct{
BTNode node;
int layer;
} BTNRecord; //包含結點所在層次的記錄類型
int FanMao(Bitree T)//求一棵二叉樹的"繁茂度"
{
int countd; //count數組存放每一層的結點數
InitQueue(Q); //Q的元素為BTNRecord類型
EnQueue(Q,{T,0});
while(!QueueEmpty(Q))
{
DeQueue(Q,r);
count[r.layer]++;
if(r.node->lchild)
EnQueue(Q,{r.node->lchild,r.layer+1});
if(r.node->rchild)
EnQueue(Q,{r.node->rchild,r.layer+1});
} //利用層序遍歷來統計各層的結點數
h=r.layer; //最后一個隊列元素所在層就是樹的高度
for(maxn=count[0],i=1;count[i];i++)
if(count[i]>maxn)
maxn=count[i]; //求層最大結點數
return h*maxn;
}//FanMao
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -