内容与设计思想
首先建立信源的数据存储类
class DATA
,按照教材方式建立数据成员变量.设有离散无记忆信源
X,P(X)
.二进制香农编码为:
1.
将信源符号按概率从大到小的顺序排列
2.
令
P(X0)=0,
用
P(Xj)
表前面概率的累加概率,最后该信源的码字将用此值表示
3.
令
Ki
为第
I
个码字的长度,确定整数
Ki
满足不等式:
-log2 P(Xi)<=Ki<1- log2 P(Xi)
.
4.
将
P(Xj)
用二进制表示,并取小数点后Ki位作为符号
X
的编码.
在信源输入时完成对信源中
P(Xi) P(Xj) Ki
的计算,然后把信源数据赋给算码字的函数
a
进行码字计算.码字计算完毕后会将结果返回给输入信源中的
key
元素,每个信源即得到自己的香农编码
香农编码比较定长编码有更高的效率,因为它对信源进行了压缩.



















































































