• 大小: 27KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: 其他
  • 标签: C语言  

资源简介

实现霍夫曼编码,以泰戈尔《飞鸟集》为例,对其中的26个字母出现的次数进行霍夫曼编码

资源截图

代码片段和文件信息

#include 
#include 
#include  
 
typedef struct huffman_node 
{
int data;
int lchild;
int rchild;
int parent;
}bnode;  //定义二叉链表结点结构

typedef char * HCode;
HCode *HC=(HCode *)malloc(26*sizeof(HCode)); 

void SelectIJ(int k bnode node[] int &i int &j)//选择根结点权值最小的两个结点 
{
int m1m2;
for(m1=1;m1<=k;m1++)
   if(!node[m1].parent){
  i =m1;
  break;
   }
for(m2=m1+1;m2<=k;m2++)
   if(!node[m2].parent){
  j = m2;
  break;
   }
for(m1=1;m1<=k;m1++)
   if((node[i].data>node[m1].data)&&(!node[m1].parent)&&(j!=m1))
      i = m1;
for(m2=1;m2<=k;m2++)  
   if((node[j].data>node[m2].data)&&(!node[m2].parent)&&(i!=m2))
          j = m2;
}

void HuffmanTree(int n bnode node[]int w[])
{
int impcdlen;
int s1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3228  2018-10-26 19:41  软件基础_3170105928_蒋杨帆_哈夫曼编码\Huffman.cpp
     文件       43248  2018-10-26 19:47  软件基础_3170105928_蒋杨帆_哈夫曼编码\Huffman.exe
     文件       31911  2010-09-26 22:23  软件基础_3170105928_蒋杨帆_哈夫曼编码\StrayBirds.txt
     目录           0  2018-10-26 19:47  软件基础_3170105928_蒋杨帆_哈夫曼编码\

评论

共有 条评论