1.问题
[描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)]
构造最优前缀码的贪心算法就是哈夫曼算法
核心设计
void CharSetHuffmanEncoding(HFMT T, HFMCode H) {
int a, b;
char c[N + 1];
int s;
c[N] = '\0';
getchar();
for (int i = 0; i < N; i++) {
H[i].ch = getchar();
s = N;
a = i;
while ((b = T[a].parent) >= 0) {
if (T[b].lchild == a)
c[--s] = '0';
else
c[--s] = '1';
a = b;
}
strcpy(H[i].bits, &c[s]);
}
}