重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 学历类考试> 自考公共课
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[主观题]

根据文字说明,请在以下______处填充适当的语句。 采用静态链表作存储结构,设置一个大小为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=______;

}

答案
查看答案
更多“根据文字说明,请在以下______处填充适当的语句。 采用静态链表作存储结构,设置一个大小为2n-1的”相关的问题

第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;

______;

}

}

}

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝