摘要:函数placeBoosters(TreeNode*root)的功能是:对于给定树型分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。全局变量Tolerance保存信号衰减容忍值。树的节点类型定义如下:typedefstructTreeNode{intid;/*当前节点的识别号*/intChildNum;/*当前节点的子节点数
函数placeBoosters(TreeNode *root)的功能是:对于给定树型分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。
全局变量Tolerance保存信号衰减容忍值。
树的节点类型定义如下:
typedef struct TreeNode {
int id; /*当前节点的识别号*/
int ChildNum; /*当前节点的子节点数目*/
int d; /*父节点到当前节点的信号衰减值*/
struct TreeNode **childptr;/*向量,存放当前节点到其所有子节点的指针*/
int M; /*当前节点到其所有子节点的信号衰减值中的最大值*/
bool boost; /*是否在当前节点放置信号放大器的标志*/
}TreeNode;
[C语言函数]
void placeBoosters(TreeNode *root )
{ /* 计算root所指节点处的衰减量,如果衰减量超出了容忍值,则放置放大器 */
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所指节点中放置信号放大器*/
p->boost = true;
p->M = 0;
}
if (p->d + p->M > degradation)
degradation = p->d + p->M;
}
root -> M = (5) ;
}
}
软考备考资料免费领取
去领取