huffman完整源代碼C語(yǔ)言實(shí)現(xiàn),有本人超級(jí)詳細(xì)解釋?zhuān)床欢闳ヌ鴺前桑?
算法設(shè)計(jì):
1、對(duì)給定的n個(gè)權(quán)值{W1,W2,W3,...,Wi,...,Wn}構(gòu)成n棵二叉樹(shù)的初始集合F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉樹(shù)Ti中只有一個(gè)權(quán)值為Wi的根結(jié)點(diǎn),它的左右子樹(shù)均為空。(為方便在計(jì)算機(jī)上實(shí)現(xiàn)算法,一般還要求以Ti的權(quán)值Wi的升序排列。)
2、在F中選取兩棵根結(jié)點(diǎn)權(quán)值最小的樹(shù)作為新構(gòu)造的二叉樹(shù)的左右子樹(shù),新二叉樹(shù)的根結(jié)點(diǎn)的權(quán)值為其左右子樹(shù)的根結(jié)點(diǎn)的權(quán)值之和。
3、從F中刪除這兩棵樹(shù),并把這棵新的二叉樹(shù)同樣以升序排列加入到集合F中。
4、重復(fù)二和三兩步,直到集合F中只有一棵二叉樹(shù)為止。
標(biāo)簽:
huffman
C語(yǔ)言
源代碼
上傳時(shí)間:
2013-12-29
上傳用戶(hù):ouyangtongze