摘要:函數(shù)placeBoosters(TreeNode*root)的功能是:對(duì)于給定樹型分布網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn),計(jì)算其信號(hào)衰減量的最大值,并確定應(yīng)在樹中的哪些節(jié)點(diǎn)放置信號(hào)放大器。全局變量Tolerance保存信號(hào)衰減容忍值。樹的節(jié)點(diǎn)類型定義如下:typedefstructTreeNode{intid;/*當(dāng)前節(jié)點(diǎn)的識(shí)別號(hào)*/intChildNum;/*當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)
函數(shù)placeBoosters(TreeNode *root)的功能是:對(duì)于給定樹型分布網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn),計(jì)算其信號(hào)衰減量的最大值,并確定應(yīng)在樹中的哪些節(jié)點(diǎn)放置信號(hào)放大器。
全局變量Tolerance保存信號(hào)衰減容忍值。
樹的節(jié)點(diǎn)類型定義如下:
typedef struct TreeNode {
int id; /*當(dāng)前節(jié)點(diǎn)的識(shí)別號(hào)*/
int ChildNum; /*當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目*/
int d; /*父節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的信號(hào)衰減值*/
struct TreeNode **childptr;/*向量,存放當(dāng)前節(jié)點(diǎn)到其所有子節(jié)點(diǎn)的指針*/
int M; /*當(dāng)前節(jié)點(diǎn)到其所有子節(jié)點(diǎn)的信號(hào)衰減值中的最大值*/
bool boost; /*是否在當(dāng)前節(jié)點(diǎn)放置信號(hào)放大器的標(biāo)志*/
}TreeNode;
[C語(yǔ)言函數(shù)]
void placeBoosters(TreeNode *root )
{ /* 計(jì)算root所指節(jié)點(diǎn)處的衰減量,如果衰減量超出了容忍值,則放置放大器 */
TreeNode *p;
int i,degradation;
if ( (1) ) {
degradation = 0; root->M = 0;
i = 0;
if (i >= root->ChildNum)
return;
p = (2) ;
for(;i < root->ChildNum && p; i++,p = (3) ){
p->M = 0;
(4) ;
if (p->d + p->M > Tolerance) { /*在p所指節(jié)點(diǎn)中放置信號(hào)放大器*/
p->boost = true;
p->M = 0;
}
if (p->d + p->M > degradation)
degradation = p->d + p->M;
}
root -> M = (5) ;
}
}
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題