freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

數據結構課程設計-哈夫曼樹-文庫吧

2025-06-02 16:52 本頁面


【正文】 parent,lchild,rchild。}HTNode,*HuffmanTree。//動態(tài)分配數組存儲霍夫曼樹typedef struct{ HuffmanTree HT。 char *c。 int length。 HuffmanCode HC。}Huffman。//分配數組存儲字符串及其對應的霍夫曼樹Huffman Hfm。哈夫曼樹編/譯碼系統(tǒng)錄入數據翻譯短文反譯編碼打印文件編碼打印哈夫曼樹退出系統(tǒng)3詳細設計include include include includedefine NULL 0define OK 1define ERROR 0define OVERFLOW 2define MAX_NUM 32767define MAX 60typedef char **HuffmanCode。//動態(tài)分配數組存儲哈夫曼表碼表typedef struct{ unsigned int weight。 unsigned int parent,lchild,rchild。}HTNode,*HuffmanTree。//動態(tài)分配數組存儲哈夫曼樹typedef struct{ HuffmanTree HT。 char *c。 int length。 HuffmanCode HC。}Huffman。//全局結構體變量,來存儲字符與代碼/*尋找權值最小的兩個節(jié)點*/void Select(HuffmanTree HT,int end,int *s1,int *s2){ int i。 int min1=MAX_NUM。 int min2。 for (i=1。i=end。i++)/*遍歷查找權值最小的結點S1*/ { if (HT[i].parent==0amp。amp。HT[i].weightmin1) { *s1=i。 min1=HT[i].weight。 } } min2=MAX_NUM。 for(i=1。i=end。i++)/*遍歷查找除S1外權值最小的結點S2*/ { if(HT[i].parent==0amp。amp。(*s1!=i)amp。amp。min2HT[i].weight) { *s2=i。 min2=HT[i].weight。 } }}/*對哈夫曼樹進行編碼*/Huffman HuffmanCoding(Huffman Hfm){ int i,n,m,s1,s2,start。 int c,f。 char *cd。 n=。 if(n=1) return Hfm。 m=2*n1。 for(i=n+1。i=m。++i) /*選擇HT[1....i1]中無雙親且權值最小的兩個節(jié)點,其序號為s1,s2*/ { Select(,i1,amp。s1,amp。s2)。 [s1].parent=i。 /*修改父親位置*/ [s2].parent=i。 [i].lchild=s1。 /*修改孩子位置*/ [i].rchild=s2。 [i].weight=[s1].weight+[s2].weight。/*父親結點權值為左右孩子權值之和*/ } /*從葉子結點到根逆向求每個字符的哈夫曼編碼*/ =(HuffmanCode)malloc((n+1)*sizeof(char *))。/*分配n個字符編碼的頭指針向量*/ cd=(char *)malloc(n*sizeof(char))。/*分配求編碼的工作空間*/ cd[n1]=39。\039。/*編碼結束符*/ for(i=1。i=n。++i)/*逐個字符求哈夫曼編碼*/ { start=n1。/*編碼結束符位置*/ for(c=i,f=[i].parent。f!=0。c=f,f=[f].parent)/*從葉子到根逆向求編碼*/ { if(c==[f].lchild) cd[start]=39。039。 else cd[start]=39。139。 }
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1