2007上半年軟件設計師下午試題[9]

軟件設計師 責任編輯:gengdaquan 2010-03-04

添加老師微信

備考咨詢

加我微信

摘要:函數(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 ;

}

}

[答案討論]

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  [12]  [13]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!