无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:二叉樹(shù)的繁茂度

2022-05-27 21:53 作者:回到唐朝當(dāng)少爺  | 我要投稿

題目:一棵二叉樹(shù)T的繁茂度定義為各層結(jié)點(diǎn)數(shù)的最大值(也稱二叉樹(shù)的寬度)和二叉樹(shù)的高度的乘積。試設(shè)計(jì)算法,求給定二叉樹(shù)T的繁茂度。

int Depth(BiTree T)//計(jì)算樹(shù)的深度

{

?????? int m = 0;

?????? int n = 0;

?????? if (T == NULL)

????????????? return 0;

?????? else

?????? {

????????????? m = Depth(T->lchild); //計(jì)算左子樹(shù)的深度

????????????? n = Depth(T->rchild); //計(jì)算右子樹(shù)的深度

????????????? if (m > n)

???????????????????? return m + 1;

????????????? else

???????????????????? return n + 1;

?????? }

}

int Width(BiTree T) //計(jì)算樹(shù)的寬度

{

?????? if (T == NULL)//如果是空樹(shù)則寬度為0

????????????? return 0;

?????? LinkQueue Q;

?????? InitQueue(Q);

?????? EnQueue(Q, T);

?????? BiTNode* p;

?????? int width = 1;

?????? int m;

?????? while (!QueueEmpty(Q))

?????? {

????????????? m = QueueLength(Q);//m為隊(duì)列長(zhǎng)度

????????????? if (width < m)//width取最長(zhǎng)的隊(duì)列

???????????????????? width = m;

????????????? for (int i = 0; i < m; i++)//將樹(shù)的下一層所有結(jié)點(diǎn)入隊(duì)

????????????? {

???????????????????? DeQueue(Q, p);

???????????????????? if (p->lchild)

??????????????????????????? EnQueue(Q, p->lchild);

???????????????????? if (p->rchild)

??????????????????????????? EnQueue(Q, p->rchild);

????????????? }

?????? }

?????? return width;

}

?

int Lushness(BiTree T) //計(jì)算樹(shù)的繁茂度

{

?????? return Depth(T) * Width(T);

}


數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:二叉樹(shù)的繁茂度的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
濮阳县| 大同县| 准格尔旗| 江川县| 富蕴县| 门源| 博客| 贵州省| 三原县| 六枝特区| 东乡族自治县| 定安县| 汤阴县| 瑞安市| 海城市| 财经| 会理县| 普宁市| 涟水县| 徐水县| 阿克苏市| 西贡区| 洛川县| 阳东县| 蓬溪县| 马鞍山市| 高台县| 延津县| 永福县| 通州区| 巩义市| 碌曲县| 吐鲁番市| 深水埗区| 广元市| 山东| 双柏县| 潮安县| 霍州市| 攀枝花市| 大安市|