9 已知一段文本有1382個字符,使用了1382個字節(jié)進行存儲,這段文本全部是由a、b、c、d、e這5個字符組成,a出現(xiàn)了354次,b出現(xiàn)了483次,c出現(xiàn)了227次,d出現(xiàn)了96次,e出現(xiàn)了232次,對這5個字符使用哈夫曼(Huffman)算法進行編碼,則以下哪些說法正確(ABD) 正確答案: A C D 你的答案: B (錯誤)使用哈夫曼算法編碼后,用編碼值來存儲這段文本將花費最少的存儲空間 使用哈夫曼算法進行編碼,a、b、c、d、e這5個字符對應(yīng)的編碼值是唯一確定的 使用哈夫曼算法進行編碼,a、b、c、d、e這5個字符對應(yīng)的編碼值可以有多套,但每個字符編碼的位(bit)數(shù)是確定的 b這個字符的哈夫曼編碼值位數(shù)應(yīng)該最短,d這個字符的哈夫曼編碼值位數(shù)應(yīng)該最長 A正確,Huffman樹就是求最優(yōu)解??梢杂卸嗵追桨?,但最終每套方案生成的編碼長度都相同且都是最優(yōu)解。 B錯誤,我們可以將左子樹定為1右子樹定為0也可以反之,不同的方案獲得的編碼值是不同的,但每個字符的編碼長度是固定的。 C正確,不同的方案影響的只是通向節(jié)點的路徑為0還是1,而不會影響Huffman樹的層次結(jié)構(gòu) D正確,生成了Huffman樹之后,我們就能看到,出現(xiàn)頻率越高的節(jié)點越靠近根,深度越小即編碼值尾數(shù)越短;出現(xiàn)頻率越低的節(jié)點越遠離根,深度越大即編碼位數(shù)越長。 |
|