主观

33. 根据文字说明,请在以下______处填充适当的语句。 采用静态链表作存储结构,设置一个大小为2n-1的数组,令数组的每个元素由四个域组成:wt是结点的权值;lehild、rchild分别为结点的左、右孩子指针;parent是结点的双亲在数组中的下标。其数组元素类型定义如下:

typedef struet

  { float wt;   /*权值*/

     int parent,lchild rchild;   /*指针域*/

  }node;

  typedef node hftree[2*n-1];

  在这种存储结构上的哈夫曼算法可描述如下:

  void huffman(int k,float W[k],hftree T) /*求给定权值W的哈夫曼树T*/

  {int i,j,x,y;

    float m,n;

    for(i=0;i<2*k-1;i++)

    { T[i].parent=-1;T[i].lchild=-1;T[i].rchild=-1;

      if(______)T[i].wt=W[i];

           else T[i].wt=0

    }

  for(i=0;i<k-1;i++)

     { x=0;y=0;m=maxint;n=maxint;

       for(j=0;j<k-i,j++)

         if(T[j].wt<m)&&(T[j].parent==-1){n=m;y=___;m=___;x=j;}

             else if(T[j].wt<n)&&(T[j].parent==-1)){n=T[j].wt;y=j;)

  }

      T[x].parent=______;T[y].parent=______;

      T[k+i].wt=______;

      T[k+i].lchild=______;T[k+i].rchild=______;

  }

参考答案
您可能感兴趣的试题
¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服