[英]How to generate Huffman code from a given Huffman tree in C?
I'm a bit stuck with this fonction build HuffmanCode that fill the array HuffmanCode with codes of each charactere ASCII我对这个函数构建 HuffmanCode 有点坚持,它用每个字符 ASCII 的代码填充数组 HuffmanCode
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)]=
}
}
}
In pseudo-code it'll be something like this:在伪代码中,它会是这样的:
buildHuffmanCode(Tree, "");
and then接着
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");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.