首页 > 学历类考试> 自考公共课
题目内容 (请给出正确答案)
[主观题]

根据文字说明,请在以下______处填充适当的语句。 采用静态链表作存储结构,设置一个大小为2n-1的

根据文字说明,请在以下______处填充适当的语句。

采用静态链表作存储结构,设置一个大小为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=______;

}

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“根据文字说明,请在以下______处填充适当的语句。 采用静…”相关的问题
第1题
以下运算实现在链栈上的初始化,请在______处用适当的语句予以填充。 void InitStack(LStackTp*ls

以下运算实现在链栈上的初始化,请在______处用适当的语句予以填充。

void InitStack(LStackTp*ls){______;)

点击查看答案
第2题
以下运算实现在循环队上判队空,请在______处用适当的语句予以填充。 int EmptyCycQueue(Cycqcleu

以下运算实现在循环队上判队空,请在______处用适当的语句予以填充。

int EmptyCycQueue(CycqcleueTp sq)

{ if(______)retum(1);

else return(0);

}

点击查看答案
第3题
以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。 int Pop(SqStackTp*sq,DataT

以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。

int Pop(SqStackTp*sq,DataType*x)

{ if(sq—>top==0){error("下溢");return(0);)

else{*x=______;

______;

return(1);

}

}

点击查看答案
第4题
以下运算实现在循环队上的入队列,请在______处用适当的语句予以填充。 int EnCycQueue(Cycquetae

以下运算实现在循环队上的入队列,请在______处用适当的语句予以填充。

int EnCycQueue(CycquetaeTp*sq,DataType x)

{ if((sq—>rear+1)%maxsize==______)

{error("队满");return(0);)

else{______;

______;

return(1);

}

}

点击查看答案
第5题
以下运算实现在链栈上的进栈,请在______处用适当的语句予以填充。 void Push(LStackTp*ls,DataTy

以下运算实现在链栈上的进栈,请在______处用适当的语句予以填充。

void Push(LStackTp*ls,DataType x)

{ LStackTp*p;p=malloc(sizeof(LStackTp));

______;

p—>next=ls;

______;

}

点击查看答案
第6题
以下运算实现在链栈上的退栈,请在______处用适当的语句予以填充。 int Pop(LStackTp*is,DataType

以下运算实现在链栈上的退栈,请在______处用适当的语句予以填充。

int Pop(LStackTp*is,DataType*x)

{ LStackTp*P;

if(1s!=NULL)

{ p=ls;

*x=______;

ls=ls—>next;

______;

return(1);

} else return(0);

}

点击查看答案
第7题
以下程序段采用先根遍历方法求二叉树的叶子数,请在______处填充适当的语句。 void countleaf(bit

以下程序段采用先根遍历方法求二叉树的叶子数,请在______处填充适当的语句。

void countleaf(bitreptr t,int*count)/*根指针为t,假定叶子数count的初值为0*/

{ if(t!=NULL)

{ if((t—>lchild==NULL)&&(t—>rchild==NULL))______;

countleaf(1—>lehild,count);

______;

}

}

点击查看答案
第8题
以下是图的广度优先搜索算法,请在______处填充适当的语句。 Bfs(GraphTp g,int v) { QueptrTp Q

以下是图的广度优先搜索算法,请在______处填充适当的语句。

Bfs(GraphTp g,int v)

{ QueptrTp Q;

ArcNodeTp*P;

InitQueue(&Q);

printf("%"”,v);

visited[v]=1;

______

while(!EmptyQueue(Q))

{______;

p=g.adjlist[v].firstarc;

while(p! =NULL)

{ if(! visited[p—>adjvex])

{ printf("%"”,p—>adjvex);

visited[p—>adjvex]=1);

EnQueue(&Q,p—>adjvex);

}

______;

}

}

}

点击查看答案
第9题
基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的列序来进行转置,请在______处用
适当的语句予以填充。

Trans_Sparmat(SpMatrixTp a,SpMatrixTp*b)

{ (*b).mum=a.nu;(*b).nu=a.mu;(*b).tu=a.tu

if(a.tu)

{ q=1;

for(col=1;______;col++)

for(p=1;p<=a.tu;p++)

if(______)==col)

{ (*b).data[q].i=a.data[p].j;

(*b).data[q].j=a.data[p].i;

(*b).data[q].v=a.data[p].v;

______;

}

}

}

点击查看答案
退出 登录/注册
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改