哈夫曼树构造及编码算法应用之26个字母的哈夫曼编码

您所在的位置:网站首页 26个字母出现的概率顺序 哈夫曼树构造及编码算法应用之26个字母的哈夫曼编码

哈夫曼树构造及编码算法应用之26个字母的哈夫曼编码

2023-09-16 17:22| 来源: 网络整理| 查看: 265

/*--------------------------------------------------------------- 任务过程:创建26个字母哈夫曼树,及其编码和译码 1、建立哈夫曼树 2、从每个叶结点回溯到root的路径,并记录路径,则为哈夫曼编码 3、查表方式获得每个字符的哈夫曼编码 -----------------------------------------------------------------*/ #include #include //----------------------定义结点数据--------------- #define N_LEAVE 26 //N个权值,则有N个叶结点,树共2N-1个结点 #define N_NODE (26*2-1) typedef struct _Node { char character; float weight; int lchild; int rchild; int parent; }Node,*pNode; typedef struct _Code { int HufCode[N_LEAVE]; //叶节点最长编码位数应该为树的最长路径 int Start; //编码起始位(相对编码数组) char Char; //编码的字符值 }Code,*pCode; //-------------------------------------------------- //----------------------构造哈夫曼树---------------- void Huffman(Node Ht[],float Wt[]) { int i,j,x1,x2; float min1,min2; //初始化结点数组Ht for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3