第06章_树与二叉树C解释.ppt

* * * * * * * * 构造Huffman树的步骤(即Huffman算法): 由给定的 n 个权值{ w1, w2, …, wn }构成n棵二叉树的集合F = { T1, T2, …, Tn } (即森林) ,其中每棵二叉树 Ti 中只有一个带权为 wi 的根结点,其左右子树均空。 (2) 在F 中选取两棵根结点权值最小的树 做为左右子树构造一棵新的二叉树,且让新二叉树根结点的权值等于其左右子树的根结点权值之和。 (3) 在F 中删去这两棵树,同时将新得到的二叉树加入 F中。 (4) 重复(2) 和(3) , 直到 F 只含一棵树为止。这棵树便是Huffman树。 * 对权值进行合并、删除与替换 ——在权值集合{7,5,2,4}中,总是合并当前值最小的两个权 具体操作步骤: a. 初始 b. 合并{2} {4} c. 合并{5} {6} d. 合并{7} {11} 谁左谁右? 不规定就不会惟一 * 9 例题:已知权值 W={ 5, 6, 2, 9, 7 }, 建立对应的Huffman树 5 6 2 7 9 2 5 7 16 6 7 13 29 * Huffman树的应用: 例:设有4个字符d,i,a,n,出现的频度分别为7,5,2,4,怎样编码才能使它们组成的报文长度最短? 法1:等长编码(如二进制编码) 令d=00,i=01,a=10,n=11,则: WPL1=2b

文档评论(0)

1亿VIP精品文档

相关文档