huffman完整源代碼C語言實現,有本人超級詳細解釋(看不懂你去跳樓吧)
算法設計:
1、對給定的n個權值{W1,W2,W3,...,Wi,...,Wn}構成n棵二叉樹的初始集合F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉樹Ti中只有一個權值為Wi的根結點,它的左右子樹均為空。(為方便在計算機上實現算法,一般還要求以Ti的權值Wi的升序排列。)
2、在F中選取兩棵根結點權值最小的樹作為新構造的二叉樹的左右子樹,新二叉樹的根結點的權值為其左右子樹的根結點的權值之和。
3、從F中刪除這兩棵樹,并把這棵新的二叉樹同樣以升序排列加入到集合F中。
4、重復二和三兩步,直到集合F中只有一棵二叉樹為止。
標簽:
huffman
C語言
源代碼
上傳時間:
2013-12-29
上傳用戶:ouyangtongze
//在tc3.0++在運行
//a數組用于隨機產生1-6數表示每個方格后面的圖形.用inita()函數來實現
//c數組用于記錄方格的狀態,用字符L(lock)表示沒有打開的方格
//D(delete)表示已消去的方格.O(open)表示打開的方格.
//變量m表示按回車鍵的有效次數.也是記憶力參數,越小記憶力越好
//變量xpos,ypos用于表示當前光標所在的位置
//(x1,y1),(x2,y2)用于記錄打開的兩個方格的位置
//judge()函數用于控制光標范圍,使其不能移出長方形
//win()函數用于判斷游戲是否過關,通過判斷每個方格是否全是 D 狀態
//xago,yago 用于記錄移動前的位置
//ax,ay表示行列式的行與列,用它們來控制游戲的關數,ax位于3-6之間,ay位于4-7之間
//z來控制方格后的圖形
//第一關后面的圖形用1-6代表的圖形.第二關后面的圖形用0-9十個數。第三關后面的圖形用A-O十五個字母,
//第四關后面的圖形用A-T二十一個字母
標簽:
inita
lock
3.0
數組
上傳時間:
2015-06-19
上傳用戶:hgy9473