首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用C语言从给定的Huffman树生成Huffman代码?

如何用C语言从给定的Huffman树生成Huffman代码?
EN

Stack Overflow用户
提问于 2021-11-22 19:50:10
回答 1查看 0关注 0票数 0

我有点坚持使用这个函数构建HuffmanCode,它用每个charactere ASCII的代码填充数组HuffmanCode

代码语言:javascript
复制
struct code_char {
    int len; /* length of code*/
    int code[256]; /* 0s and 1s  */
};

struct code_char HuffmanCode[256];

typedef unsigned char Element;

struct node {
    Element data;
    struct node *leftN;
    struct node *rightN;
};

typedef struct node *Tree;

void buildHuffmanCode(Tree huff){
    if(huff!=NULL){
        if isLeaf(huff){
            HuffmanCode[leaf(huff)]=
        }

    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-11-22 21:31:49

在伪代码中,它将是这样的:

代码语言:javascript
复制
buildHuffmanCode(Tree, "");

然后

代码语言:javascript
复制
void buildHuffmanCode(Tree huff, string prefix){
    if(huff!=NULL){
        if isLeaf(huff){
            HuffmanCode[leaf(huff)]= prefix;
        }
        else {
            buildHuffmanCode(huff->left, prefix + "0");
            buildHuffmanCode(huff->right, prefix + "1");
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70071593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档