下载此文档

哈夫曼树建立、哈夫曼编码算法的实现.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
哈夫曼树建立、哈夫曼编码算法的实现白鹿原#include<>/**/哈夫曼树建立、哈夫曼树树算法的树树#include<>/**/#include<>树树分配树~存树哈夫曼树树数typedefchar*HuffmanCode;/**/typedefstruct{用存放各树点的树树来个unsignedintweight;/**/指向树、孩子树点的指树双unsignedintparent,LChild,RChild;/**/树树分配树~存树哈夫曼树数}HTNode,*HuffmanTree;/**/voidselect(HuffmanTree*ht,intn,int*s1,int*s2){inti; intmin;for(i=1;i<=n;i++){if((*ht)[i].parent==0){min=i;i=n+1;}}for(i=1;i<=n;i++){if((*ht)[i].parent==0){if((*ht)[i].weight<(*ht)[min].weight)min=i; }}*s1=min;for(i=1;i<=n;i++){if((*ht)[i].parent==0&&i!=(*s1)){min=i;i=n+1;}}for(i=1;i<=n;i++){ if((*ht)[i].parent==0&&i!=(*s1)){if((*ht)[i].weight<(*ht)[min].weight)min=i;}}*s2=min;}voidCrtHuffmanTree(HuffmanTree*ht,int*w,intn)存放已知的个构树树~造哈夫曼树{/*wnht*/intm,i;ints1,s2;m=2*n-1;号树元未使用*ht=(HuffmanTree)malloc((m+1)*sizeof(HTNode));/*0*/for(i=1;i<=n;i++)号叶放子树点~初始化{/*1-n*/ (*ht)[i].weight=w[i];(*ht)[i].LChild=0;(*ht)[i].parent=0;(*ht)[i].RChild=0;}for(i=n+1;i<=m;i++){(*ht)[i].weight=0;(*ht)[i].LChild=0;(*ht)[i].parent=0;(*ht)[i].RChild=0; 非子树点初始化叶}/**/初始化完树,树树算法步树/*------------1---------*/树建非子树点叶建哈夫曼树for(i=n+1;i<=m;i++)/*,*/在的范树树树树树内两个树且最小的树点~其序分树树树树号、{/*(*ht)[1]~(*ht)[i-1]parent0weights1s2返回*/select(ht,i-1,&s1,&s2);(*ht)[s1].parent=i;(*ht)[s2].parent=i;(*ht)[i].LChild=s1;(*ht)[i].RChild=s2;(*ht)[i].weight=(*ht)[s1].weight+(*ht)[s2].weight;}哈夫曼树建立完树}/**/voidoutputHuffman(HuffmanTreeHT,intm) {if(m!=0){printf("%d",H

哈夫曼树建立、哈夫曼编码算法的实现 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iris028
  • 文件大小24 KB
  • 时间2019-12-30
最近更新