我有点坚持使用这个函数构建HuffmanCode,它用每个charactere 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)]=
}
}
}发布于 2021-11-22 21:31:49
在伪代码中,它将是这样的:
buildHuffmanCode(Tree, "");然后
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");
}
}
}https://stackoverflow.com/questions/70071593
复制相似问题