关于递归进行哈夫曼编码函数正确性的疑问

关于递归进行哈夫曼编码函数正确性的疑问

问题描述:

/递归进行哈夫曼编码*/
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天,您在需要使用的时候【私信】联系我,我会为您补发。