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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-赫夫曼編碼(參考版)

2025-06-07 15:11本頁面
  

【正文】 } 27 成績評定 成績 教師簽字 。 decode(htree,code)。 scanf(%s,code)。 Huffmancoding(htree)。 ht=taxisnode(temp)。 printf(\n)。 printf(一、編碼 :\n 請輸入要測試的字符串 :\n)。 FILE *fp。 } } void main() { int n。 deletenode(ptrrchild)。 } /*釋放霍夫曼樹所占用的空間 */ void deletenode(linktree tree) { linktree ptr=tree。 ch=fgetc(fp)。 } ch=fgetc(fp)。 //getch()。 char ch。 } } free(char0_1)。 printf(沒有與最后的幾個 0、 1 序列: %s 相匹配的字符 !\n,char0_1)。ptrrchild) { char0_1[j]=39。ptrlchildamp。amp。 } if(code[i]==39。j++) printf(%c,char0_1[j])。char0_1[j]!=39。\039。amp。139。) { ptr=ptrrchild。 } if(code[i]==39。 char0_1[j]=39。039。ptrrchild。ptrlchildamp。amp。code[i]!=39。ptrrchild。ptrlchildamp。amp。code[i]!=39。/*此數(shù)組用于統(tǒng)計輸入的 0、 1 序列 */ printf(霍夫曼編碼 相應字符 \n\n)。 linktree ptr=tree。 } /*解碼 */ void decode(linktree tree,char code[]) { 25 int i=0,j=0。 } } } printf(\n)。 ptr=tree。amp。 index=0。 printf(\n)。\039。 for(index=0。\039。!ptrrchild) { ptrmark=1。 } if(!ptrlchildamp。 code[index++]=39。amp。 index=0。 printf(\n)。\039。 for(index=0。\039。!ptrrchild) { ptrmark=1。 if(!ptrlchildamp。039。amp。amp。amp。 exit(0)。/*此數(shù)組用于統(tǒng)計霍夫曼編碼 */ printf(字符以及它的相應權(quán)數(shù) 霍夫曼編碼 \n\n)。 linktree ptr=tree。 } /*對霍夫曼樹進行編碼 */ void Huffmancoding(linktree tree) { int index=0。 beforepnext=newnode。 beforep=beforepnext。amp。 beforepnext=newnode。amp。 beforep=tree。 newnodeweight=pweight+qweight。 pparent=newnode。 newnodelchild=p。 newnodenext=NULL。 newnode=(linktree)malloc(sizeof(Hftree))。 qnext=NULL。q!=NULL。p!=NULLamp。 } /*用排完序的字符串建立霍夫曼樹 */ linktree createHftree(linktree tree) { linktree p,q,newnode,beforep。 } } free(tree)。 } ptnext=beforephnext。phweightptweight) {/*將被操作結(jié)點插入相應位置 */ ph=phnext。/*創(chuàng)建當前操作鏈表首元結(jié)點 */ else { while(phamp。 beforeph=head。 ptnext=NULL。 while(treenext) { pt=treenext。 /*新結(jié)點的頭結(jié)點為空 ,后續(xù)結(jié) 點也為空 */ ph=head。/*創(chuàng)建新鏈表的頭結(jié)點 */ if(!head)return NULL。 } /*將整理完的字符串按出現(xiàn)次數(shù)從小到大的順序排列 */ linktree taxisnode(linktree tree) { linktree head,ph,pt,beforeph。 beforeptrnext=node。 /*將該結(jié)點的權(quán)加一 */ free(node)。amp。 beforeptr=beforeptrnext。amp。 /*頭結(jié)點的下一結(jié)點為空 ,連接 node*/ else { ptr=treenext。 nodeweight=1。 /*置空 */ nodemark=0。 nodelchild=NULL。 nodenext=NULL。 node=(linktree)malloc(sizeof(Hftree))。i++) { /*遍歷直到字符串結(jié)束為止 */ ptr=tree。character[i]!=39。amp。character[i]!=39。 treenext=NULL。 /*鏈式 ,tree 為頭結(jié)點 ,beforeptr 為 ptr 的前一結(jié)點 ,node 為新申請的結(jié)點 */ tree=(linktree)malloc(sizeof(Hftree))。 /*整理輸入的字符 串,合并相同的項,并求出每個字符在數(shù)組中出現(xiàn)的次數(shù) */ linktree tidycharacter(char character[]) { int i=0。 /*weight 為權(quán)值 ,mark 為標志域 */ struct Huffmantree *parent,*lchild,*rchild,*next。 } 參考文獻 [1] 徐孝 凱 .數(shù)據(jù)結(jié)構(gòu)簡明教程 [M]. 清華大學出版社, 1995 年 21 [2] 嚴蔚敏 .數(shù)據(jù)結(jié)構(gòu) 【 M】 .清華大學出版社 .2021 年 [3] 參考網(wǎng)址 include include define MAXLEN 100 typedef struct Huffmantree { char ch。k++) printf(%c,HC[j+1][k])。j++) if(y[i]==x[j]) for(k=0。i++) for(j=0。 for(i=0。 } printf(平均編碼長度為 :%.2f\n,eve)。 printf( 出現(xiàn)次數(shù)為 %d,w[i])。i++){ printf(%c 編碼為 :,x[i])。 for(i=0。i++) eve+=((float)w[i]/sum)*strlen(HC[i+1])。 for(i=0。in。eve,int w[],int n,HuffmanCode HC) {int sum=0,i。 exit(0)。 w[i]=d。jk。i++) { d=0。 for(i=0。} k=n。i++) if(w[i]!=1){ x[d]=w[i]。 for(i=0。jn。in。i++) y[i]=w[i]。 for(i=0。 } void SelectDifferentChar(int w[],int amp。 k=HT[i].weight。amp。amp。i=n。 k=32767。 k=HT[i].weight。amp。i=n。 k=32767。s1,int amp。 } free(cd)。 strcpy(HC[i],amp。139。039。f!=0。i++) { start=n1。 for(i=1。 19 cd[n1]=39。 } HC=(HuffmanCode)malloc((n+1)*sizeof(char *))。 HT[i].rchild=s2。 HT[s2].parent=i。i++) {Select(HT,i1,s1,s2)。 } for(i=n+1。 HT[i].rchild=0。i++) {HT[i].weight=0。 } for(。 HT[i].rchild=0。i++) {HT[i].weight=w[i1]。//0 號單元沒用 for(i=1。 m=2*n1。HC,int w[],int n)//赫夫曼編碼 {int m,i,s1,s2,start,f,c。 } void HuffmanCoding(HuffmanTree amp。in。 exit(0)。 count=n=strlen(z)。n)//讀入結(jié)點,并將權(quán)值存到 *w 數(shù)組中 {int i。 PrintHuffmanCode(HC,w,n,eve)。 HuffmanCoding(HT,HC,w,n)。 18 ScanfCrunode(w,z,n)。 char z[1024]。 HuffmanCode HC。eve,int w[],int n,HuffmanCode HC)。//讀入結(jié)點,并將權(quán)值存到 *w 數(shù)組中 void PrintHuffmanCode(HuffmanCode HC,int w[],int n ,float eve)。 void ScanfCrunode(int
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1