费诺码描述
信源符号以概率递减的次序排列,排列好的信源符号划分为两大组,使这两组的概率和近于相同,并各赋于一个二元码符号 0 和 1 ,重复这个过程,直至每一个小组只剩下一个信源符号为止。最终的信源符号序列就是所对应的编码码字。
实验需求:
输入:信源符号个数,每个信源符号的概率分布
输出:每个信源符号对应的费诺编码的码字
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
void Fenocode(double p[],int a ,int b,string c); // 函数声明
printf("请输入信源符号数:");
int count;
scanf("%d",&count);
double p[count];
printf("请按顺序输入每个信源符号的概率:"