关于递归进行哈夫曼编码函数正确性的疑问
问题描述:
/递归进行哈夫曼编码*/
void HuffmanCode(HuffmanTree BST,int depth) //depth为目前编码到哈夫曼树的深度(层次)
{
static int code[10]; //编码空间
if( BST ){
if( (BST->Left == NULL) && (BST->Right == NULL)){ //找到了叶结点
printf("字符%c的哈夫曼编码为:",BST->ch);
for(int i=0; i<depth; i++){
printf("%d",code[i]);
}
printf("\n");
}else{
code[depth] = 0; //往左子树方向编码为0
HuffmanCode(BST->Left,depth+1);
code[depth] = 1; //往右子树方向编码为1
HuffmanCode(BST->Right,depth+1);
}
}
}
想问一下这个哈夫曼编码的编码递归有问题嘛
答
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。