精华内容
下载资源
问答
  • 哈夫曼编码译码c
    2021-05-21 11:01:44

    PAGE

    PAGE #

    PAGE

    PAGE #

    一、需求分析

    目前,进行快速远距离通信的主要手段是电报, 即将需传送的文字转化成由二级制的字符组成的字 符串。例如,假设需传送的电文为“ ABACCDA ”, 它只有4种字符,只需两个字符的串,便可以分辨。 假设A、B、C、D、的编码分别为00,01,10和11, 则上述7个字符的电文便为“ 0001001010110(”,总 长14位,对方接受时,可按二位一分进行译码。

    当然,在传送电文时,希望总长尽可能地短。如 果对每个字符设计长度不等的编码,且让电文中出现 次数较多的字符采用尽可能短的编码,则传送电文的 总长便可减少。如果设计 A、B、C、D的编码分别 为0,00,1,01,则上述7个字符的电文可转换成总长为 9的字符串“ 000011010'。但是,这样的电文无法翻 译,例如传送过去的字符串中前4个字符的字串

    “ 0000”就可以有很多种译法,或是“ AAAA ”或者 “ BB ”,或者“ ABA ”等。因此,若要设计长短不等 的编码,则必须是任一字符的编码都不是另一个字符 的编码的前缀,这种编码称作前缀编码。

    然而,如何进行前缀编码就是利用哈夫曼树来

    做,也就有了现在的哈夫曼编码和译码。

    二、概要设计

    利用哈夫曼树编/译码

    (一人建立哈夫曼树

    (一人

    建立哈夫曼树

    (二人 对哈夫曼树进行编码

    (三)、输出对应字符的编码

    译码过程

    主要代码实现:

    struct code〃结构体的定义

    char a; int w;

    int parent; int (child; int rchild;

    void creation(code *p,int njnt m); //建立哈夫曼树

    〃编码void coding(code *p,int n);

    〃编码

    void displays code 木pjnt njnt m); 〃输出函数

    void translate* char *^hc,code wp,int n);

    三、详细设计

    x~)>

    x~)>建立哈夫曩树

    宀 o ooo

    64623 4 3 6 13图图

    646

    23 4 3 6 1

    3

    (一)、对哈夫曼树进行编码主要代码实现:

    (一)、对哈夫曼树进行编码

    从叶子到根逆for(c=i,f=p[i].pare nt;f!=O;c=f,f=p[f].pare nt) {

    从叶子到根逆

    if(p[f]」child==c)

    {

    } else//右孩子编码为'1' 01

    } else

    //右孩子编码为'1' 01

    {

    cd[--start]='1:

    }

    }

    (二)、输出对应字符的码

    字符

    编码

    a

    110

    b

    111

    c

    10

    d

    0

    三)、译码过程 要代码实现:

    if(strcmp(a,hc[i])==O) //比较两个字符串是否相等,

    则输出0

    for(c=2* n-1,j=0;a[j]!='\0';j++)

    'O'或'1'确定找左孩子或右孩子

    {

    if(a[j]=='0')〃左孩子

    {

    c=p[c].lchild;

    }

    else

    //从根出发,按字从跟到叶子顺0 1{

    //从根出发,按字

    从跟到叶子顺

    0 1

    c=p[c].rchild;II 右孩子

    ”的藪字血入雾冲號字臓第if ?数罕运和字母的输图

    ”的藪字血入雾冲號字臓第if ?数罕运和

    字母的输

    S'

    s and S

    制⑴?用扎臺个数号:按峯一个鮒字返帶》

    H 修新轲人1

    也字桃1职臺靜入一个数和=

    三、调试分析

    数字的输入判断

    巒心咲?<二二二二二二

    g新输人

    )丄丄i11111

    gWfftA.

    涣定?Cluu*u*?KLt s

    涣定?Cluu*u*?KLt s anil Sr lt,jLTk£ff \ AiLa.JLiuLsli.ajLiixA it Hi '.buf 1 sulX Vebu.E ^ iLuLlM^ ..

    程序是否继续进行的萨卸

    判断

    lifl

    毛否誉滞 '汽術几用者V)否曲辿”

    |lBTe^E; -Bjay hey 七? k. ohi t. iiiiAE!

    四、用户手册

    (一)、首先根据提示输入初始化数据,提示输入一 个数字,请输入一个数a,0

    (二)在某一界面结束后,会有“请按回车继续下面 操作"提示,请按提示进行操作,如输入其他数字则 无效,知道输入回车符界面才会跳转。

    (三)对界面的操作可以自行选择,在询问是否译码 的时候,请按

    更多相关内容
  • 哈夫曼编码译码C语言编写[参考].pdf
  • 哈夫曼编码译码C语言编写 10 [?标签 哈夫曼, 编码, 译码?] 如上题 C语言编个程序 懂的帮搞个能运行的程序来#11别到网上找那些 我找过了没用的 蝶风待夕魂 回答:2 人气:19 解决时间:2009-05-14 18:44 满意答案 好评率...
  • 数据结构哈夫曼编码译码C语言
  • 哈夫曼编码译码

    2017-12-29 23:10:39
    数据结构课程设计,实现哈夫曼编码译码,打印哈夫曼树
  • 设计一个哈夫曼编码译码系统。对一个文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。
  • 按词频从小到大的顺序给出各个字符(不超过30个)的词频,根据词频构造哈夫曼树,给出每个字符的哈夫曼编码,并对给出的语句进行译码。 为确保构建的哈夫曼树唯一,本题做如下限定: (1)选择根结点权值最小的两棵...
  • char c; int i,n; int wei; printf("input the tatol number of the Huffman Tree:" ); scanf("%d",&n); w=(Weight *)malloc(n*sizeof(Weight)); for(i=0;i printf("input the element & its weight:"); scanf("%1s...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    kitwz775

    2013.06.17

    00e27ab806e4881f8254fe7ae8741834.png

    采纳率:54%    等级:12

    已帮助:8258人

    #include

    #include

    #include

    typedef char ElemType;

    typedef struct{

    ElemType elem;

    unsigned int weight;

    unsigned int parent,lchild,rchild;

    }HTNode,*HuffmanTree;

    typedef char** HuffmanCode;

    typedef int Status;

    typedef struct {

    char elem;

    unsigned int weight;

    }Weight; // save the information of the symbolizes;

    void HuffmanCoding(HuffmanTree *,HuffmanCode *,Weight *,int);

    void Select(HuffmanTree,int,int *,int *);

    void OutputHuffmanCode(HuffmanTree,HuffmanCode,int);

    Status main(void)

    {

    HuffmanTree HT;

    HuffmanCode HC;

    Weight *w;

    char c;

    int i,n;

    int wei;

    printf("input the tatol number of the Huffman Tree:" );

    scanf("%d",&n);

    w=(Weight *)malloc(n*sizeof(Weight));

    for(i=0;i

    printf("input the element & its weight:");

    scanf("%1s%d",&c,&wei);

    w[i].elem=c;

    w[i].weight=wei;

    }

    HuffmanCoding(&HT,&HC,w,n);

    OutputHuffmanCode(HT,HC,n);

    return 1;

    }

    00分享举报

    展开全文
  • c语言实现的哈夫曼编码译码器,是数据结构中的经典案例。里面含有设计报告和源代码。把好的东西贡献出来,供大家参考一下。
  • 《数据结构C语言哈夫曼编码译码》由会员分享,可在线阅读,更多相关《数据结构C语言哈夫曼编码译码(16页珍藏版)》请在人人文库网上搜索。1、实训报告题 目: 哈夫曼树编码译码院 系: 信息工程系专 业: 计算机科学...

    《数据结构C语言哈夫曼编码译码》由会员分享,可在线阅读,更多相关《数据结构C语言哈夫曼编码译码(16页珍藏版)》请在人人文库网上搜索。

    1、实训报告题 目: 哈夫曼树编码译码院 系: 信息工程系专 业: 计算机科学与技术(网络方向)姓 名: 梁展荣 学 号: 指导教师: 赵莹莹 刘欣 日 期: 2013年7月3日 桂林电子科技大学信息科技学院目 录一、设计思想11.1建立哈夫曼树的思想11.2建立哈夫曼编码表21.3对文件进行编码21.4对文件进行解码2二、算法流程图3三、运行结果8四、遇到的问题及解决10五、心得体会13一、设计思想要完成哈夫曼的编码和解码需要首先建立哈夫曼树,之后对所有字符根据权重进行编码,最后再对文件内容进行编码和解码。1.1建立哈夫曼树的思想。首先定义适合哈夫曼树的节点类型,需要定义的有当前节点的字符,当前。

    2、节点的左子、右子和父亲指针。在建立哈夫曼树之前还需要对出现的字符和权重进行统计和记录,并且定义一个可以筛选出最小权重的函数。初始化树节点之后开始建立哈夫曼树。先在所有可能出现的字符中筛选出当前权重最小的两个字符,将这两个字符分别作为新节点的左子和右子建立一个小的二叉树,并将两个字符的权重之和赋值给新节点,将新二叉树放入筛选字符中,再将筛选过的两个字符从筛选列表中淘汰掉。依次对列表中剩下的字符进行权重最小的筛选,直到根节点(如果编码表共有N个字符,则2*N-1就为最终根节点)为止,也就是当筛选列表为空的时候,哈夫曼树即建立完成。对于哈夫曼编码树来说,由于哈夫曼编码是前缀码,所以所有要编码的字符最。

    3、终都将是这颗树的叶子节点,而其它节点并没有真正的字符意义。即当哈夫曼编码树建立之后,对树的所有叶子节点进行打印可知道是否有字符遗漏或多余。1.2建立哈夫曼编码表。建立编码表时要根据每个出现的字符的权重对建立的哈夫曼树的每个叶子节点进行编码。编码时要从叶子节点出发向根节点进行逆向编码。判断如果当前节点为左子则对其编码0,如果当前节点为右子则对其编码1。以此类推进行编码直到根节点为止。此时的编码是逆向的,所以需要将码值逆向存储。依次对每一个叶子节点进行编码操作,即可得到当前哈夫曼树的编码表。对于码值的逆向存储可以使用栈结构,先将一个码的每一步编码存入栈,再在一个码结束后出栈至空。当然也可以定义一个。

    4、字符型数组,将值从后向前存入数组,再将数组有值部分粘贴到新的数组中进行存储。本次采用了后者,因为个人认为为此一步操作建立栈结构不划算,而且前一个设计也已经熟练掌握了栈的方法,此处进行新的尝试会更好。1.3对文件进行编码。首先需要建立一个原始文件,在文件中输入需要编码的内容。之后将文件打开,将其中的内容存储到字符串中以便程序编码调用。开始对需要编码的字符进行编码,将字符逐一读取与刚刚建立的编码表中的每个叶子节点代表的字符进行比较,找出相同的对象,并将当前节点的编码打印到屏幕,并将编码存入到新建的密码文件当中。1.4对文件进行解码。先打开密码文件,将之前编码后得到的密文内容存储到字符串中以便解码调。

    5、用。开始对密文的字符串进行解码,树索引从根节点开始走,当密文中的当前字符是0的时候,则索引走向左子节点;当是1的时候,则走向右子节点。以此类推,一直走到叶子节点为止,则当前叶子节点所代表的字符即为前一段密文的解码结果,。再对下一个字符依次从根节点开始解码,如此循环对每一段密文进行解码直到解码结束。将解码打印到屏幕,并将解码结果存入到新的解码文件当中。在解码之前,还应该先确认之前是否建立了哈夫曼树并且是否构建了编码表。不过由于本次将a到z都进行了编码,所以此步省略了,因为编码表是唯一的。需要的时候可以在Encoder 函数中先进行判定。将编码和解码写在了一起,可以在运行时进行选择调用。二、算法流。

    6、程图第一步:建立哈夫曼树。图1建立哈夫曼树的算法流程图第二步:构建哈夫曼编码表。图2构建哈夫曼编码表的算法流程图第三步:编码。图3 编码算法流程图第四步:解码。图4 解码算法流程图四、运行结果原文文件:图5 中缀转后缀运行结果图编码图:图6 编码图密文文件:图7 密文文件图解码图:图8 解码图译文文件:图9 译文文件图整体运行图:图10 编码解码整体运行图五、遇到的问题及解决这部分我主要遇到了如下两个问题,其内容与解决方法如下所列:l 第一个问题是权重的筛选部分出现了错误解决办法:一开始对于筛选最小权重的代码编写如下:void SelectMin(HFMT T,int i,int *p1,in。

    7、t *p2) int j, min=999;for(j=0;jTj.weight)min=Tj.weight; *p1=j; min=999; for(j=0;jTj.weight&j!=(*p1)min=Tj.weight; *p2=j; 因为权重中最大的就是字符e的权重103,所以为初始值min赋值时觉得999就已经是无限大了。但是后来发现编码不知确,就开始思考是什么问题。发现每次筛选都将会把最小的两个权重进行相加,所以很快就会超过999,编码自然就出现了问题。所以后来将min定义成了long型,并赋值,问题就解决了。l 第二个问题是生成编码表的时候如何将逆向编码正向存储解决办法:对于求编。

    8、码的时候,由于是从叶子节点向根顺次而求,所以编码结果将是逆向的。一开始想到的办法是利用栈的结构,将编码依次存入栈中,再在一个字符编码结束时将栈倒空,这样就可以将编码正向存储了。但是又在考虑如果不用栈时候也可以做到。后来想到了strcpy函数对字符数组进行链接。所以就可以定义一个数组,从后向前存储编码,再在一个字符编码结束时将这个数组有值的重新存入新数组中,即可以成为正向编码了。最终实现编码如下:HFCode hfEn(HFMT T) int i,f,c,start;HFCode hc;char *cd;hc=(char *)malloc(N+1)*sizeof(char*); cd=(char。

    9、)malloc(N*sizeof(char); cdN-1=0; for(i=0;iN;i+) start=N-1;for(c=i,f=Ti.parent;f!=-1;c=f,f=Tf.parent)if(Tf.left=c) cd-start=0;else cd-start=1;hci=(char *)malloc(N-start)*sizeof(char); strcpy(hci,&cdstart); return hc;六、心得体会通过对本次的编写,使我掌握了哈夫曼编码的特点、存储方法和基本原理,培养了我运用C语言正确编写程序以及调试程序的能力。哈夫曼编码的结构取决于可能出现的字符的个数和其所对应的权值,权值大的编码短,权值小的编码长。这样的结构会利用比较小的空间存储数据。而且,利用树的结构对其编码和对其解码,也是比较规格话,比较方便的。本次编程还运用了结构体,便捷的对树节点和树以及编码表进行定义和调用。并且了解到当求解一个算法时,不是拿到问题就不假思索去做,而应该首先对它有个整体的概念,再一步步对其进行分析。在分析的过程中也应该学会随时总结问题,将遇到的问题融会贯通,以便在将来需要的时候能够应用自如。本次设计中也存在一些一开始不容易解决的问题,但当对算法的进一步分析和对相关信息的查阅,也比较顺利的完成了设计。虽然路途比较艰辛,但奋斗的经历却成为了最宝贵的人生经验。

    展开全文
  • 用C++实现的哈夫曼编译码器,可以实现创建哈夫曼树、对txt文件进行编码译码,也可以查看生成的哈夫曼树。数据结构作业参考之必备品。
  • C语言实现哈夫曼编码

    2020-08-19 06:25:11
    主要为大家详细介绍了C语言实现哈夫曼编码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 哈夫曼编码译码器.rar

    2020-07-11 15:53:03
    利用哈夫曼树生成最优编码,程序可以写文件,进而从写文件中再读取文件,然后对读取的文件进行哈夫曼编码,对文件进行编码,然后将编码文件存储成huf文件,然后再对huf文件进行译码译码后再将译码文件保存成txt...
  • 哈夫曼编码译码系统的实现,主要包含三部分:1、创建哈夫曼树2、编码函数3、译码函数编写代码时为了方便,在这里混用了c++的输入输出流。主体用c语言实现。下面是代码部分:1、头文件,以及储存结构:#include#...

    哈夫曼编码译码系统的实现,主要包含三部分:

    1、创建哈夫曼树

    2、编码函数

    3、译码函数

    编写代码时为了方便,在这里混用了c++的输入输出流。主体用c语言实现。

    下面是代码部分:

    1、头文件,以及储存结构:

    #include

    #include

    using namespace std;

    #define MAX 2000

    typedef char ElemType;

    typedef struct{

    ElemType data;

    int w;

    int parent,lchild,rchild;

    }HFMTNode;

    2、哈夫曼树的创建,Ht储存全部节点的权值,n代表叶子节点数量。

    void menu(HFMTNode Ht [],int n);//原型声明

    void CreatHFMTree(HFMTNode Ht[],int n)//创建哈夫曼树

    {

    int i,j,k,lmin,rmin;

    int min1,min2,m1;

    for(i=1;i<2*n;i++)

    {

    Ht[i].parent=Ht[i].lchild=Ht[i].rchild=-1;

    }

    for(i=n+1;i<2*n;i++)

    {

    min1=min2=MAX;

    lmin=rmin=-1;

    for(k=1;k

    {

    if(Ht[k].parent==-1)//只在尚未构造的二叉树节点中运行

    {

    if(Ht[k].w

    {

    min2=min1;

    rmin=lmin;

    min1=Ht[k].w;

    lmin=k;

    }

    else

    {

    if(Ht[k].w

    {

    min2=Ht[k].w;

    rmin=k;

    }

    }

    }

    else{

    if(Ht[k].wm1)//与创建好的二叉树节点比较,选取w小的一个

    {

    min2=Ht[k].w;

    rmin=k;

    m1=k;

    }

    }

    }

    Ht[lmin].parent=i;//对选择出的结点进行连接

    Ht[rmin].parent=i;

    Ht[i].w=Ht[lmin].w+Ht[rmin].w;

    Ht[i].lchild=lmin;

    Ht[i].rchild=rmin;

    }

    printf("HFMTree have been created\n");

    }

    3、编码译码函数、主函数:

    void encoding(HFMTNode Ht [],int n)//编码

    {

    int k;

    fflush(stdin);

    printf("Please input what you want to encode with the ending of'#' :\n");

    char ch;

    ch=getchar(); //读取字符

    while (ch!='#')

    {

    for(k=1;k<=n;k++)

    {

    if(Ht[k].data==ch)

    {

    break;

    }

    } //找到字符位置

    HFMTNode temp1,temp=Ht[k];

    int flag=0;

    int a[n];

    while(temp.w!=Ht[2*n-1].w)

    {

    temp1=temp;

    temp=Ht[temp.parent];

    if(Ht[temp.lchild].w==temp1.w )

    {

    a[flag]=0;

    flag++;

    }

    else if(Ht[temp.rchild].w==temp1.w )

    {

    a[flag]=1;

    flag++;

    }

    } //用数组记录路径

    for(int f=flag-1;f>=0;f--)

    {

    printf("%d",a[f]);

    } //编码输出

    ch=getchar();

    }

    printf("\nencoding have finished\n");

    system("pause");

    system("cls");

    menu(Ht,n);

    }

    void decoding(HFMTNode Ht [],int n)//译码

    {

    int k=2*n-1;

    fflush(stdin);

    printf("Please input what you want to decode with the ending of'#' :\n");

    char ch;

    ch=getchar(); //依次读取01字符

    HFMTNode temp=Ht[2*n-1];

    while (ch!='#')

    {

    if(ch=='1')

    {

    if(temp.rchild==-1)

    {

    printf("%c",temp.data); //根据01向左右寻找,到达叶子节点时输出

    temp=Ht[2*n-1];

    continue;

    }

    else

    {

    temp=Ht[temp.rchild ];

    ch=getchar();

    }

    }

    else if(ch=='0')

    {

    if(temp.lchild==-1)

    {

    printf("%c",temp.data);

    temp=Ht[2*n-1];

    continue;

    }

    else

    {

    temp=Ht[temp.lchild ];

    ch=getchar();

    }

    }

    }

    printf("%c",temp.data); //输出要译码的最后一个字符

    printf("\ndecoding have finished\n");

    system("pause");

    system("cls");

    menu(Ht,n);

    }

    void menu(HFMTNode Ht [],int n)

    {

    int j;

    printf("Input your choice:\n");

    printf("1.encoding 2.decoding 0.exit\n");

    cin>>j;

    switch (j)

    {

    case 1:encoding(Ht,n);break;

    case 2:decoding(Ht,n);break;

    case 0:break;

    }

    }

    int main()

    {

    printf("Please input the amount of the node:\n");

    int i;

    scanf("%d",&i);

    HFMTNode Ht[2*i];//储存各个节点的数据

    for(int k=1;k<=i;k++)

    {

    printf("Ht[%d]:Please input data :",k);

    cin>>Ht[k].data;

    printf("Ht[%d]:Please input w :",k);

    cin>>Ht[k].w;

    }

    CreatHFMTree(Ht,i);

    menu(Ht,i);

    return 0;

    }

    展开全文
  • 哈夫曼编/译码器 问题描述:给定电文进行哈夫曼编码,给定编码进行哈夫曼译码。要求电文存储在文件1中,编码后的结果存储在文件2中,给定编码存储在文件3中,译码后的结果存储在文件4中。
  • 7-2 哈夫曼编码译码

    千次阅读 多人点赞 2022-03-09 23:09:30
    编写一个哈夫曼编码译码程序。 按词频从小到大的顺序给出各个字符(不超过30个)的词频,根据词频构造哈夫曼树,给出每个字符的哈夫曼编码,并对给出的语句进行译码。 为确保构建的哈夫曼树唯一,本题做如下限定:...
  • 数据结构哈夫曼编码译码功能,C语言版程序加完成版实验报告,完全可运,供大家参考。
  • 该楼层疑似违规已被系统折叠隐藏此楼.../*动态分配数组,存储哈夫曼编码*/typedef struct{unsigned int weight ; /* 用来存放各个结点的权值*/unsigned int parent, LChild,RChild ; /*指向双亲、孩子结点的指针*/...
  • 哈夫曼编码译码器数据结构C语言 一、需求分析 目前,进行快速远距离通信的主要手段是电报,即将需传送的文字转化成由二级制的字符组成的字符串。例如,假设需传送的电文为“ABACCDA”,它只有4种字符,只需两个字符...
  • 哈夫曼编码译码器实验报告.rar
  • 简单实现哈夫曼编码译码过程,简单易懂` #include<stdio.h> #include<string.h> #include<stdlib.h> #include<conio.h> typedef struct{ char ch; //字符 int weight; //权值 int ...
  • 哈夫曼编码c语言实现,代码中有注释。有编码和译码功能,能输出每个字符的Huffman码。可以输入一段Huffman码反应成文本,也可以输入一段文本翻译成Huffman码。计算了信源熵,编码效率,和平均编码长度。
  • 哈夫曼编码译码--数据结构

    热门讨论 2011-12-08 20:24:53
    哈夫曼编码译码 包括默认编码 和 自定义编码 数据结构课程设计 一、题目: 哈夫曼编码/译码的设计与实现 二、目的与要求 1、目的: 通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学...
  • [题目] 哈夫曼编码/译码器 [需求描述] 利用哈夫曼编码进行通信可以提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对传输数据预先编码,在接收端将传来的数据进行译码,对于全双工...
  • 哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc 东北电力大学计算机科学与技术专业综合设计报告I目录摘要IIABSTRACTII第一章课题描述111问题描述112需求分析113程序设计目标第二章设计简介及设计方案...
  • 哈夫曼编码/译码

    千次阅读 2022-05-13 16:48:38
    哈夫曼编码/译码
  • 哈夫曼编码译码

    千次阅读 多人点赞 2021-12-31 19:36:16
    编写一个哈夫曼编码译码程序。 按词频从小到大的顺序给出各个字符(不超过30个)的词频,根据词频构造哈夫曼树,给出每个字符的哈夫曼编码,并对给出的语句进行译码。 为确保构建的哈夫曼树唯一,本题做如下限定: ...
  • 从键盘接收一串电文字符,输出对应的Huffman(哈夫曼)编码,同时,能翻译由Huffman编码生成的代码串,输出对应的电文字符串。设计要求: (1)构造一棵Huffman树; (2)实现Huffman编码,并用Huffman编码生成的代码...
  • 问题描述:利用哈夫曼编码进行信息通讯可以大大提高信道的利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码;在接受端将传来的数据进行译码。对于双工信道(即...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,404
精华内容 961
关键字:

哈夫曼编码译码c