资源描述:
《数据结构课程设计哈夫曼》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#defineMAX99charcha[MAX];charhc[MAX-1][MAX];ints1,s2;//设置全局变量,以便在方法(函数)select中返回两个变量typedefstruct//huffman树存储结构{unsignedintweight;//权值intlchild,rchild,parent;}huftree;voidselect(huftreetree[],intk)//找寻paren
2、t为0,权最小的两个节点{inti;for(i=1;i<=k&&tree[i].parent!=0;i++);s1=i;//初始化s1for(i=1;i<=k;i++)if(tree[i].parent==0&&tree[i].weight3、ee[i].weight4、+)//给除了叶子结点下的其它结点初始化{tree[i].weight=0;tree[i].parent=0;tree[i].lchild=0;tree[i].rchild=0;}for(i=n+1;i<=m;i++)//最终结果{select(tree,i-1);tree[s1].parent=i;tree[s2].parent=i;tree[i].lchild=s1;tree[i].rchild=s2;tree[i].weight=tree[s1].weight+tree[s2].weight;}}voidhuffm
5、ancode(huftreetree[],charcode[],intn)//输出huffman编码{intstart,c,i,f;cout<<"哈夫曼树:"<