日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

香农编码二叉树c语言,shannon码的编码实验总结.docx

發(fā)布時(shí)間:2024/9/27 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 香农编码二叉树c语言,shannon码的编码实验总结.docx 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

shannon碼的編碼實(shí)驗(yàn)總結(jié)

本科生實(shí)驗(yàn)報(bào)告  實(shí)驗(yàn)課程信息理論與編碼  學(xué)院名稱信息科學(xué)與技術(shù)學(xué)院  專業(yè)名稱  學(xué)生姓名  學(xué)生學(xué)號(hào)  指導(dǎo)教師  實(shí)驗(yàn)地點(diǎn)  實(shí)驗(yàn)成績(jī)  二〇一六年九月----二〇一六年十一月  填寫說(shuō)明  1、適用于本科生所有的實(shí)驗(yàn)報(bào)告;  2、專業(yè)填寫為專業(yè)全稱,有專業(yè)方向的用小括號(hào)標(biāo)明;  3、格式要求:  ①用A4紙雙面打印或在A4大小紙上用藍(lán)黑色水筆書寫。②打印排版:正文用宋體小四號(hào),倍行距,頁(yè)邊距采取默認(rèn)形式。字符間距為默認(rèn)值;頁(yè)碼用小五號(hào)字底端居中。  ③具體要求:  題目;  摘要;  關(guān)鍵詞  小四號(hào)黑體  參考文獻(xiàn),參考文獻(xiàn)用五號(hào)宋體,參照《參考文獻(xiàn)著錄規(guī)則》。  實(shí)驗(yàn)一:香農(nóng)編碼  一、實(shí)驗(yàn)?zāi)康摹 ≌莆胀ㄟ^(guò)計(jì)算機(jī)實(shí)現(xiàn)香農(nóng)編碼的方法。  二、實(shí)驗(yàn)要求  對(duì)于給定的信源的概率分布,按照香農(nóng)編碼的方法進(jìn)行計(jì)算機(jī)實(shí)現(xiàn)。  三、實(shí)驗(yàn)基本原理  給定某個(gè)信源符號(hào)的概率分布,通過(guò)以下的步驟進(jìn)行香農(nóng)編碼  1.將信源消息符號(hào)按其出現(xiàn)的概率大小排列  p(x1)?p(x2)???p(xn)  2.確定滿足下列不等式的整數(shù)碼長(zhǎng)Ki;  ?log2p(xi)?Ki??log2p(xi)?1  3.為了編成唯一可譯碼,計(jì)算第i個(gè)消息的累加概率  pi??p(xk)  k?1i?1  4.將累加概率Pi變換成二進(jìn)制數(shù)。  5.取Pi二進(jìn)制數(shù)的小數(shù)點(diǎn)后Ki位即為該消息符號(hào)的二進(jìn)制碼。  四、實(shí)驗(yàn)內(nèi)容  x2x3x4x5x6x7??X??x1?q(X)???????進(jìn)行二進(jìn)制香農(nóng)編碼。1.對(duì)給定信源?  x2x3x4x5x6??X??x1??q(X)??????進(jìn)行二進(jìn)制香農(nóng)編碼。2.對(duì)給定信源?  3.自已選擇一個(gè)例子進(jìn)行香農(nóng)編碼。  五、實(shí)驗(yàn)設(shè)備  PC計(jì)算機(jī),C++  六、實(shí)驗(yàn)報(bào)告要求  1、畫出程序設(shè)計(jì)的流程圖,  2、寫出程序代碼,  3、寫出在調(diào)試過(guò)程中出現(xiàn)的問題,  4、對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。  七、流程圖  八、程序代碼  //:定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。  //  #include""  #include  #include  usingnamespacestd;  int_tmain(intargc,_TCHAR*argv[])  {  inttest;intN;  cout>N;  cout>X[i];  }  //由小到大排序  for(i=0;i=1)//累加概率乘2大于1,對(duì)應(yīng)碼字加1,累加概率自身取余  {pa[i]=pa[i]*2-1;code[i]+="1";  }  else//累加概率乘2小于1時(shí),對(duì)應(yīng)碼字加0,累加概率自身取余  {  code[i]+="0";  pa[i]*=2;}}{code[i]=code[i].substr(0,K[i]);}//求碼字for(i=0;idata()  #include"vector"  #include"algorithm"  #include""  usingnamespacestd;  structbitree  {//定義結(jié)構(gòu)用于存儲(chǔ)編碼結(jié)果的二叉樹結(jié)構(gòu),在譯碼時(shí)用到  charch;//用于存儲(chǔ)碼符號(hào)  charmz;//用于存儲(chǔ)碼字  bitree*lchild;  bitree*rchild;  };  structdata  {//用于存儲(chǔ)相關(guān)的信源符號(hào)以及其概率  doublep;  charch;  vectorcode;  intml;  };  boolsortspecial(datadt1,datadt2)  {//用于排序時(shí)用  return>;  }  voidprint2(vectorvd)  {//用于打印譯碼結(jié)果  for(inti=0;i&vd)  {//用于讀入相關(guān)的信源符號(hào)以及概率  intn;  while(true)  {  cout>n;  cout>;  cin>>;  =0;  _back(dt);  i++;  }  doublesum=0;  vector::iteratorpit;  /*for(pit=();pit!=();pit++)  {  sum+=pit->p;  }  if(sum!=1)  {  coutch=ch1;  bit->mz=ch2;  bit->lchild=NULL;  bit->rchild=NULL;  if(ch1=='0')  bt->rchild=bit;  elsebt->lchild=

總結(jié)

以上是生活随笔為你收集整理的香农编码二叉树c语言,shannon码的编码实验总结.docx的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。