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

正文內(nèi)容

哈夫曼編碼編譯器(編輯修改稿)

2025-07-25 00:03 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 void SelectMin(HFMTree HT,int k,HFMTree *HT1,HFMTree *HT2){//查找哈夫曼鏈表中兩個(gè)權(quán)值最小的節(jié)點(diǎn)int i,min。HFMTree p。min=32767。for(i=0,p=HT。ik。i++,p=pnext) if(pweightminamp。amp。pParent==0) { min=pweight。 *HT1=p。 }min=32767。for(i=0,p=HT。ik。i++,p=pnext) if(pweightminamp。amp。pParent==0amp。amp。p!=*HT1) //令第二個(gè)最小的節(jié)點(diǎn)不等于第一個(gè)節(jié)點(diǎn){min=pweight。 *HT2=p。 }}void CreatHFMTree(HFMTree *HT,int count[]){//創(chuàng)建哈夫曼樹(shù)int i。HFMTree p,HT1,HT2。 //HT1,HT2分別存放權(quán)值最小和次小的節(jié)點(diǎn)的位置p=*HT=(HFMTree)malloc(sizeof(HFMNode))。pnext=pLChild=pRChild=pParent=NULL。 //初始化哈夫曼鏈表且有2n1個(gè)節(jié)點(diǎn)for(i=1。i2*n1。i++) { pnext=(HFMTree)malloc(sizeof(HFMNode))。 p=pnext。 pnext=pLChild=pRChild=pParent=NULL。 }for(i=0,p=*HT。in。i++) //將各個(gè)字符出現(xiàn)的次數(shù)作為權(quán)值{ //存入哈夫曼鏈表的前n個(gè)單元中pweight=count[i]。 p=pnext。 }for(i=n。i2*n1。i++) //將后n1個(gè)節(jié)點(diǎn)賦權(quán)值,建樹(shù){SelectMin(*HT,i,amp。HT1,amp。HT2)。 //每次從前i個(gè)節(jié)點(diǎn)中選取權(quán)值最小的兩個(gè)節(jié)點(diǎn)HT1Parent=HT2Parent=p。 pLChild=HT1。 pRChild=HT2。 pweight=HT1weight+HT2weight。 //將兩個(gè)節(jié)點(diǎn)的權(quán)值相加存入最后一個(gè)節(jié)點(diǎn)中p=pnext。 //p指向下一個(gè)沒(méi)有存儲(chǔ)權(quán)值的節(jié)點(diǎn)}}void HFMCode(HFMTree HT,CodeNode HC[],char str[]){//從每個(gè)葉子節(jié)點(diǎn)開(kāi)始,利用哈夫曼樹(shù)對(duì)每個(gè)字符進(jìn)行編碼,最終建立一個(gè)哈夫曼表int i。HFMTree q,p=HT。for(i=0。in。i++) //將字符存入哈夫曼編碼結(jié)構(gòu)體數(shù)組的字符單元中{HC[i].ch=str[i]。 HC[i].code[n1]=39。\039。 //初始化編碼的最后一位}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1