请问哈夫曼树的零一编码是否需要路径为零的数比路径为1的叶子结点的值小或者大?还是任意的呀,自己编码的话,
在哈夫曼树中,给定任意一个叶子节点,它对应的编码是由根节点到该叶子节点的路径上的 0 和 1 组成的,所以说,在进行哈夫曼编码时,路径为零的叶子节点的编码可以被定义为比路径为 1 的叶子节点的编码小,也可以被定义为比路径为 1 的叶子节点的编码大,具体的定义可以看情况,只需要保证编码的唯一性和无歧义性就行了,
不知道你这个问题是否已经解决, 如果还没有解决的话:void show(Htreetype t[], Hcodetype code[])
{
int i, j;
for (i = 0; i<leaves; i++)
{
cout<<code[i].ch<<" ";
for (j = code[i].start; j<leaves; j++) //编码的长度等于总层数减去所在层数,即从顶层到叶子
cout<<code[i].bit[j]<<" "; // 所要经历的层数
cout<<endl;
}
}