对
首先,您可以任意为树的每对分支分配0和1,或1和0,以获得同等有效的代码。
其次,当在哈夫曼算法的每个步骤中找到最低频率组时,您可能会遇到以下情况:最低频率由三个或更多组共享,或者第二最低频率由两个或多个组共享。然后,在该步骤中,您可以选择两个或多个组合。在这种情况下,您可以得到不同的相邻符号,甚至拓扑上不同的树,所有这些都是同样最优的。
这些都是拓扑等价的。第三步更有趣,第二个最低频率有三个选择,其中两个是分支,一个是叶子。因此,可能会产生两种不同的拓扑。
以下是频率{1,1,1,1,2,3,3,3,3,4,5,5,6,7,9,10,12,16}的24种可能拓扑: