首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
admin
2010-12-17
104
问题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
[说明]
HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。
构造最优二叉树的Huffman算法如下:
①根据给定的n各权值{W1,w2,…,wn)构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵树Ti中只有一个带权为wi的根节点,其左右子树均空。
②在F中选取两棵根节点的权值较小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根节点的权值为其左右予树根节点的权值之和。
③从F中删除这两棵树,同时将新得到的二叉树加入到F中。
重复②③,直到F中只剩一棵树为止。
函数中使用的预定义符号如下:
#define INT MAX 10000
#define ENCODING LENGTH 1000
typedef enum(none,left_child,right_child) Which;
/*标记是左孩子还足右孩子*/
typedef char Elemtype;
typedef struct TNode{//Huffman树节点
Elemtype letter;
int
weight; //权值
int parent; //父节点
Which sigh;
char *code; //节点对应编码
}HTNode,*HuffmanTree;
int n;
char coding[50];//储存代码
[函数]
void Select(HuffmanTree HT,int end,int *sl,int *s2)
/*在0~END之间,找出最小和次小的两个节点序号,返吲S1、S2*/
{
int i;
int min 1=INT_MAX;
int min 2=INT_MAX;
for(i=0;i<=end;i++){/*找最小的节点序号*/
if(( (1) )&&(HT
.weight<minl)){
*s1=i;
min 1=HT
.weight;
}
}
for(i=0;i<=end;i++){/*找次小节点的序号*/
if((HT
.parent==0)&&( (2) )
&&(min 2>HT
.weight)){
*s2=i;
min 2=HT
.weight;
}
}
}
void HuffmanTreeCreat(HuffmanTree&HT)/*建立HUFFMAN树*/
{
int i;
int m=2*n-1;
int s1,s2;
for(i=n;i<m;i++){
Select( (3) );
HT[s1].parent=i;
HT[s2].parent=i;
HT[s1].sigh=left child;
HT[s2].sigh=right child;
HT
.weight=(4);
}
}
void HuffmanTreeEncoding(char sen[],HuffmanTree HT)
{ /*将句子进行编码*/
int i=0;
int j;
while(sen
!=’\0’){
for(j=0;j<n;j++){
if(HT[j].letter==sen
)(/*字母吻合则用代码取代*/
strcat(coding, (5) );
break;
}
}
i++;
if (Sen [1]==32) i++;
}
printf("\n%s",coding);
}
(2)
选项
答案
*s1 !=i
解析
转载请注明原文地址:https://kaotiyun.com/show/rqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在指令系统的各种寻址方式中,获取操作数最快的方式是________________。
软件开发中经常利用配置库实现变更控制,主要是控制软件配置项的状态变化,不受配置管理控制的是()。
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
程序质量评审通常是从开发者的角度进行评审,其内容不包括____________。
某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括______。
将二进制序列1011011表示为十六进制,为______。
若计算机中地址总线的宽度为24位,则最多允许直接访问主存储器(6)________________的物理空间(以字节为单位编址)。
在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(15),它是一种重新组织的技术,可以简化构件的设计而无须改变其功能或行为。
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
阅读以下家庭HFC宽带接入Internet网的技术说明,结合网络连接拓扑图,根据要求回答问题1至问题5。【说明】混合光纤一同轴电缆网(即HFC网)将光纤敷设到小区,再通过光电转换节点,利用CATV的总线式同轴电缆网连接到用户,从而为用户提供Int
随机试题
海洋公司与顺利公司签订水路货物运输合同,约定将货物从A地港口运输至B地港口。在实际运输过程中,货物首先由顺利公司运输至C地港口,再由风帆公司运输至D地港口,最后由远航公司运输至B地港口。海洋公司在卸货过程中,发现货物因水湿损毁。对此,下列选项不正确的是:(
【案例三】背景材料:某市政桥梁工程采用钻孔灌注桩基础;上部结构为预应力混凝土连续箱梁,采用钢管支架法施工。支架地基表层为4.5m厚杂填土,地下水位位于地面以下0.5m。主墩承台基坑平面尺寸为10m×6m,挖深为4.5m,采用9
【背景资料】某分项工程包含A、B、C三个工序,施工单位在进行该分项工作时,将作业面划分为三个施工段组织流水施工作业。各工序在各施工段所消耗的工作时间如表1(时间单位:d)所示。在每个施工段上,A工序与B工序之间存在2d的技术间歇,而
征收与征用的适用对象不同,主要体现为()。
合作(山西省)
考试对于()相当于()对于登机
公开市场操作的前提条件之一为金融市场是全国性的、独立性的,可操作证券种类齐全,且具有一定规模。()
属于雨果的作品的是()。
VolcanoesGeologistshavebeenstudyingvolcanoesforalongtime.Thoughtheyhavelearnedagreatdeal,theystillhaven
A—TOPStoriesB—E-newslettersC—CurrentSpecialD—What’sNewE—Edito
最新回复
(
0
)