哈夫曼编码c++实现
求C++实现哈弗曼编码问题 一定要是C++本人没学过C。。
include<iostream> include<string> using namespace std;typedef struct { int weight;int flag;int parent;int lchild;int rchild;}hnodetype;typedef struct { int bit[10];int start;char leaf;}hcodetype;void huf(char cha[],int m[],int n){ int i,j,m1,m2,x1,x2,c,p;hnodetype...
如何用C语言实现赫夫曼树,详细见下?急啊急啊!!!请各位大侠帮忙!最好...
char GetFile[MAX_FILE]={0};\/* 解码序列 *\/ void ShellSort(char pData[MAXLIST][2],int Count)\/* Shell排序,用于准备有序化要构造的编码权值构造哈夫曼树做准备 *\/ { int step[4]={9,5,3,1};\/* 增量序列 *\/ int iTemp,cTemp;int k,s,w,i,j;for(i=0;i<4;i++){ k=...
哈夫曼编\/译码器问题:C语言版的数据结构,我急啊!那位朋友帮帮忙,结果必 ...
(2)C:编码 (Coding)。利用已建好的哈夫曼树对正文进行编码,然后将结果输出。(3)D:译码 (Decoding)。利用已建好的哈夫曼树编码后的代码进行译码。[实现提示]可以根据题目要求把程序划成3个模块,设计成菜单方式,每次执行一个模块后返回菜单。 展开
c语言 霍夫曼编码问题 总是在data输入时出错而且编码也不对,求大神指导...
楼主你好。你的代码问题不少。首先,你的代码不是纯c,是cpp的吧?因为参数列表中出现了引用参数,比如:HuffmanTree &HT。其次,你的关键问题是data输入问题。这个问题是出在这里:for(i=0;i<n;i++){ printf("data[%d]=",i);scanf("\\n%c",&ch[i]);\/\/关键是这里,%c之前要加一个\\n ...
C语言编写的数据结构
cprintf("Now,开始演示哈夫曼编码."); getch(); haffmantree(weight,n,myhafftree,data); haffmancode(myhafftree,n,myhaffcode); pprintf(myhaffcode,n); clrscr(); printf("若执行自定义编译,请输入y继续。否则程序将结束."); if((ch=getch())=='y'||ch=='Y') test(myhaffcode,n); getch(...
怎么编哈夫曼树的编码和解码(用C语言,用文件读入已知的文本文件里的内容...
这个程序的本身是很长的 打起来也不是很好做 具体的来说算法的思想应该是将不同的结点从小到大排列后不断的用最小的两个组合来建立树 最后建立起来哈夫曼树 ,而起编码也是遵循的是左为0右为1的方法,根据叶子结点到根的路径读出他的编码.
有关哈夫曼编码压缩与解压缩的问题.
CrtHuffmanNodeCode(ht,ch,&h,&weight,m,n); \/*叶子结点的编码*\/ printf(" ***NodeCode***\\n"); \/*打印叶子结点的编码*\/ for(i=1;i<=n;i++) { printf("\\t%c:",weight.c); printf("%s\\n",h); } CrtHuffmanCode(ch,h,&hc,weight,n,m); \/*所有字符的编码*\/ printf("***...
创建一个哈夫曼树并且进行编码权重如下w={5,29,7 8,14,13 ,3 ,11}...
typedef int Boolean;\/***\/\/* 最优二叉树简称:哈夫曼树 *\/\/***\/\/\/哈夫曼树结构; typedef struct{unsigned int weight;
数据结构c语言版的 课程设计
四、实现提示:1、哈夫曼编码采用一个字符串数组存储。2、用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”,表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。3、在程序的一次执行过程中,第一次执行I、D或C命令之后,哈夫曼树已经在内存了,...
...在发送端根据输入的内容构造哈夫曼树并编码,在接收端怎么译码呢...
Huffman 编码 一、实验目的 熟悉Huffman编码方法。了解并弄懂Huffman编码实现信息的无损压缩原理。二、实验要求 熟悉C语言编程。三、实验内容 1.根据给定的n个权值(w1, w2, …, wn)构成n棵二叉树的集合F=,其中每棵二叉树Ti中只有一个带树为Ti的根结点 2.在F中选取两棵根结点的权值最小的树作为...
定安县孚悦回答: 使用说明:首先建立哈夫曼树,输入你的信号源的个数,然后输入每个信号的符号及其相应的频率(最后乘以100不要出现小数的为好)我的输入文件名为Myinput.txt即在C盘下建立文本文档取名为Myinput.txt然后输入你的信号的符号以空格结束...
钱龚18446138276问: 试编写实现哈夫曼树和哈夫曼编码的算法?这是数据结构里的问题,要求用C++6.0来实现 - ?
定安县孚悦回答: #include <stdio.h> #include <malloc.h> #include<math.h> struct hf { char data; int weight; struct hf *lc; struct hf *rc; struct hf *pc; int hcd[30]; } *hc[30]; int n;main() {struct hf creat(); struct hf bian(struct hf *hc[30]); struct hf print(struct hf *hc[30]);int m;do ...
钱龚18446138276问: 急求一个C++程序 哈夫曼编码 - ?
定安县孚悦回答: #include <fstream.h>#include <stdlib.h>#include <string.h>#define CAPS ch>=65&&ch<=90 //定义宏,用于判断大小写#define LOWS ch>=97&&ch<=122 struct Huffman{ Huffman *pnext,*pl,*pr; //pnext用于建立链表,pl、pr用于建立哈夫曼树 char ...
钱龚18446138276问: 哈夫曼树和编码应用用C++实现 - ?
定安县孚悦回答: #include <stdio.h> #define MAXBIT 10 /*定义哈夫曼编码的最大长度*/ #define MAXVALUE 10000 /*定义最大权值*/ #define MAXLEAF 30 /*定义哈夫曼树中最多叶子节点个数*/ #define MAXNODE MAXLEAF*2-1 /*哈夫曼树最多结点数*/ typedef ...
钱龚18446138276问: 数据结构C++实现哈夫曼树 - ?
定安县孚悦回答: 看程序代码: #include"stdlib.h" #include <iostream.h>#include <iomanip.h> const int n=10;//字符的最大个数 struct hufnode {char elem;int m_weight;int parent,lchild,rchild; //两个叶子节点回溯到跟节点 }; typedef struct hufnode htnode; ...
钱龚18446138276问: C++哈夫曼编码实现文件压缩 - ?
定安县孚悦回答: 有,int <bit_vector> bv={0,1,1,0,1}; 标准模板类 按位存放
钱龚18446138276问: 写个哈夫曼编码译码程序 数据结构 c++ - ?
定安县孚悦回答: #include #include #includetypedef struct { int weight; int parent,lchild,rchild; char data; }HTNode,*HuffmanTree; typedef char **HuffmanCode; void tongji(char *a,int *w,char *d,int &n) { int j=0; for(int i=0;i if(a[i]==d[k]) { w[k]++; break; } } if(k==j){ d[j]=a[i];...
钱龚18446138276问: 数据结构题目,关于哈弗曼编码,用C语言来做(非常急的,谢谢了) - ?
定安县孚悦回答: void HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, int *w, int n) { // w存放n个字符的权值(均>0),构造哈夫曼树HT, // 并求出n个字符的哈夫曼编码HC int i, j, m, s1,s2; char *cd; int p; int cdlen; if (n m = 2 * n - 1; HT = (HuffmanTree)...
钱龚18446138276问: c++哈夫曼编码 - ?
定安县孚悦回答: 暂时只实现了显示编码结果,求平均码长没有完成. #include <iostream> using namespace std; /* * 霍夫曼树结构 */ class HuffmanTree { public: unsigned int Weight, Parent, lChild, rChild; }; typedef char **HuffmanCode; /* * 从结点集合中选出...
钱龚18446138276问: 用c程序实现霍夫曼编码 - ?
定安县孚悦回答: 这是我当时做的作业题,就是数据结构书上的那道题.不知道是否和你说的是同样一道题,代码如下:/*HuffmanCode BY Turbo C 2.0Filename: Huffman.cAuthor: dcyu.Ver 1.00*/#include #include #include #include #include typedef ...