四元费诺编码
1.问题描述
对任意符号序列()进行四元费诺码的编码实现。费诺编码方法
属于概率匹配编码。这种编码方法不是最佳的编码方法,但有时也可得到最佳码的性能。
2.基本要求
请设计程序用以对输入字符串实现 元费诺编码,并且设计译码函数使满足根据编码
的结果,输入任意的 进制数字串能够正确唯一的译码。
3.测试数据
输入:结果如下:
输入:,结果如下:
输入:,结果如下:
输入:,结果如下:
4.算法思想
首先将信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使
第组的概率和近于相同并各赋于一个二元码符号”和”然后,将每一大组的信源符号
再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号。依
次下去,直至每一个小组只剩下一个信源符号为止。这样,信源符号所对应的码符号序列
则为编得的码字。译码原理,按照编码的二叉树从树根开始,按译码序列进行逐个的向其
叶子结点走,直到找到相应的信源符号为止。之后再把指示标记回调到树根,按照同样的
方式进行下一序列的译码到序列结束。如果整个译码序列能够完整的译出则返回成功,否
则则返回译码失败。
编码方法: