摘要:函数placeBoosters(TreeNode*root)的功能是:对于给定树型分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。全局变量Tolerance保存信号衰减容忍值。树的节点类型定义如下:typedefstructTreeNode{intid;/*当前节点的识别号*/intChildNum;/*当前节点的子节点数目*/i
函数 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) ;
}
}
软考备考资料免费领取
去领取