阅读下列函数说明和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[i].weight<minl)){
*s1=i;
min 1=HT[i].weight;
}
}
for(i=0;i<=end;i++){/*找次小节点的序号*/
if((HT[i].parent==0)&&((2) )
&&(min 2>HT[i].weight)){
*s2=i;
min 2=HT[i].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[i].weight=(4);
}
}
void HuffmanTreeEncoding(char sen[],HuffmanTree HT)
{ /*将句子进行编码*/
int i=0;
int j;
while(sen[i] !='\0'){
for(j=0;j<n;j++){
if(HT[j].letter==sen[i])(/*字母吻合则用代码取代*/
strcat(coding, (5) );
break;
}
}
i++;
if (Sen [1]==32) i++;
}
printf("\n%s",coding);
}
(1)
第1题
M公司为一般纳税企业,其存货采用实际成本法进行管理,2012年5月发生以下经济业务。
(1)1日,向A公司购入原材料一批,价款10000元。材料已验收入库,款项尚未支付。
(2)4目,销售甲商品500件,每件售价100元,成本每件60元,商品已发出,当即结转成本。货款已收存银行。
(3)接供电部门通知,本月应付电费30000元,其中生产车间电费25000元;行政管理部门电费5000元;当即通过银行转账支付。
(4)5日,与D公司签订供货合同,合同规定供货金额100000元。D公司通过银行先预付全部款项的60%,余款在货物验收后付清,当即发货。
(5)10日向E公司出租包装箱一批,收取押金10000元存入银行。
要求:根据上述经济业务,在不考虑增值税的情况下,编制相关会计分录。
第2题
第3题
A.以支付手续费的方式委托天地集团代销商品一批,成本20000元,协议售价24000元,当月未收到代销清单,甲公司确认收入24000元,结转成本20000元
B.销售给黄河公司一批商品,成本15000元,售价20000元,商品已发出,并收到60%货款,但当日黄河公司提出退货,双方未达成一致意见,甲公司确认收入20000元,结转成本15000元
C.销售给东方公司一批商品,成本10000元,售价15000元,已收到货款,并将提货单交给东方公司,甲公司确认收入15000元,结转成本10000元
D.上月已预收天地集团25000元货款,本月收到剩余款项并发出商品,发出商品成本20000元,售价25000元,甲公司确认收入25000元,结转成本20000元
第4题
A.以支付手续费的方式委托天地集团代销商品一批,成本20 000元,协议售价24 000元,当月未收到代销清单,甲公司确认收入24 000元,结转成本20 000元
B.销售给黄河公司一批商品,成本15 000元,售价20 000元,商品已发出,并收到60%货款,但当日黄河公司提出退货,双方未达成一致意见,甲公司确认收入20 000元,结转成本15 000元
C.销售给东方公司一批商品,成本10 000元,售价15 000元,已收到货款,并将提货单交给东方公司,甲公司确认收入15 000元,结转成本10000元
D.上月已预收天地集团25 000元货款,本月收到剩余款项并发出商品,发出商品成本20 000元,售价25 000元,甲公司确认收入25 000元,结转成本20 000元
第5题
A.16000
B.112000
C.18720
D.131040
第6题
第7题
第8题
A.2
B.-14
C.-2
D.14
第9题
A.7500
B.8775
C.10000
D.3000
第10题
A.75000
B.87750
C.100000
D.30000
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!