
关于一个计算机组成原理的题
对下面14条指令按哈夫曼编码规则进行编码.要求只用2种码长扩展操作码.14条指令及起使用频度如下:I10.15I20.15I30.14I40.13I50.12I60.11...
对下面14条指令按 哈夫曼编码规则进行编码.要求只用2种码长扩展操作码.
14条指令及起使用频度如下:
I1 0.15
I2 0.15
I3 0.14
I4 0.13
I5 0.12
I6 0.11
I7 0.04
I8 0.04
I9 0.03
I10 0.03
I11 0.02
I12 0.02
I13 0.01
I14 0.01
谢谢了,把过程写详细哈,我查资料找不到 展开
14条指令及起使用频度如下:
I1 0.15
I2 0.15
I3 0.14
I4 0.13
I5 0.12
I6 0.11
I7 0.04
I8 0.04
I9 0.03
I10 0.03
I11 0.02
I12 0.02
I13 0.01
I14 0.01
谢谢了,把过程写详细哈,我查资料找不到 展开
1个回答
展开全部
采取不定长的编码方式。(1)为了便于译码,要求任一种术语的编码都不能是其它术语编码的前缀;(2)使用频率高的术语,其编码长度应该最短,也就是说:若术语Si的编码Ci的长度为Li,则你的编码方案应使
WPL=P1*L1+P2*L2+......+Pn*Ln
的值最小。
【输入格式】
输入为n+1行
第1行:一个整数n()1<=n<=100;为术语的个数;
第2--n+1行:Si Pi;Si为字符串,表示术语;Pi表示使用频率
【输出格式】
输出为n+1行
第1--n行:Si Pi Ci,Ci为Si的编码
第n+1行:一个整数,最小的WPL值。
【输入输出样例】
输入文件名:tree7.in
4
brain 4
work 2
gun 11
money 3
输出文件名:tree7.out
brain 4 10
work 2 110
gun 11 0
money 3 111
33
WPL=P1*L1+P2*L2+......+Pn*Ln
的值最小。
【输入格式】
输入为n+1行
第1行:一个整数n()1<=n<=100;为术语的个数;
第2--n+1行:Si Pi;Si为字符串,表示术语;Pi表示使用频率
【输出格式】
输出为n+1行
第1--n行:Si Pi Ci,Ci为Si的编码
第n+1行:一个整数,最小的WPL值。
【输入输出样例】
输入文件名:tree7.in
4
brain 4
work 2
gun 11
money 3
输出文件名:tree7.out
brain 4 10
work 2 110
gun 11 0
money 3 111
33
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询