摘要:函數(shù)placeBoosters(TreeNode*root)的功能是:對于給定樹型分布網(wǎng)絡中各個節(jié)點,計算其信號衰減量的最大值,并確定應在樹中的哪些節(jié)點放置信號放大器。全局變量Tolerance保存信號衰減容忍值。樹的節(jié)點類型定義如下:typedefstructTreeNode{intid;/*當前節(jié)點的識別號*/intChildNum;/*當前節(jié)點的子節(jié)點數(shù)
函數(shù)placeBoosters(TreeNode *root)的功能是:對于給定樹型分布網(wǎng)絡中各個節(jié)點,計算其信號衰減量的最大值,并確定應在樹中的哪些節(jié)點放置信號放大器。
全局變量Tolerance保存信號衰減容忍值。
樹的節(jié)點類型定義如下:
typedef struct TreeNode {
int id; /*當前節(jié)點的識別號*/
int ChildNum; /*當前節(jié)點的子節(jié)點數(shù)目*/
int d; /*父節(jié)點到當前節(jié)點的信號衰減值*/
struct TreeNode **childptr;/*向量,存放當前節(jié)點到其所有子節(jié)點的指針*/
int M; /*當前節(jié)點到其所有子節(jié)點的信號衰減值中的最大值*/
bool boost; /*是否在當前節(jié)點放置信號放大器的標志*/
}TreeNode;
[C語言函數(shù)]
void placeBoosters(TreeNode *root )
{ /* 計算root所指節(jié)點處的衰減量,如果衰減量超出了容忍值,則放置放大器 */
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é)點中放置信號放大器*/
p->boost = true;
p->M = 0;
}
if (p->d + p->M > degradation)
degradation = p->d + p->M;
}
root -> M = (5) ;
}
}
軟考備考資料免費領取
去領取