數(shù)據(jù)結(jié)構(gòu)——實驗四哈夫曼樹與哈夫曼編碼(共6頁).doc
《數(shù)據(jù)結(jié)構(gòu)——實驗四哈夫曼樹與哈夫曼編碼(共6頁).doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)——實驗四哈夫曼樹與哈夫曼編碼(共6頁).doc(6頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上軟 件 學 院哈夫曼樹與哈夫曼編碼實驗報告課程名稱: 數(shù)據(jù)結(jié)構(gòu) 姓 名: 鄭斌 學 號: 7 班 級: 卓越131 專心-專注-專業(yè)實驗四 哈夫曼樹與哈夫曼編碼一、實驗?zāi)康?、使學生熟練掌握哈夫曼樹的生成算法。2、熟練掌握哈夫曼編碼的方法。二、實驗內(nèi)容本次實驗提供3個題目,難度相當,學生可以根據(jù)自己的情況選做,其中題目一是必做題,其它選作!題目一、哈夫曼樹和哈夫曼編碼問題描述一電文,有若干個不同字符,要求從終端輸入這些不同字符及其出現(xiàn)的頻率,然后對這些字符進行哈夫曼編碼,并輸出。測試數(shù)據(jù)利用教材P.148 例62中的數(shù)據(jù)調(diào)試程序 (可自己設(shè)定測試數(shù)據(jù))。 選作內(nèi)容1、
2、打印出該哈夫曼樹2、若從終端輸入任意一段電文(假設(shè)僅為26個大小寫英文字母),試編程高效地求出該段電文的哈夫曼編碼。提示:如何快速統(tǒng)計不同字符的出現(xiàn)頻率3、譯碼:將上述1的編碼結(jié)果還原成電文。三、算法設(shè)計1) 本程序包含三個模塊1 void Select(HuffmanTree HT,int i,int &s1,int &s2) /選擇函數(shù)2 voidHuffmanCoding(HuffmanTree&HT,HuffmanCode&HC,int *w,int n)w存放n個權(quán)值, 構(gòu)造哈夫曼樹p, 3 Void Huffmancode(HuffmanTree &
3、amp;HT,HuffmanCode &HC,int n)求出哈夫曼編碼hc并輸出哈弗曼編碼4、 實驗結(jié)果圖1-1 輸入哈弗曼樹的權(quán)值圖1-2 顯示哈弗曼樹表與其編碼五、總結(jié)通過做哈弗曼樹實驗讓對最優(yōu)二叉樹這種結(jié)構(gòu)有了更深的了解和應(yīng)用,對我以后的編程產(chǎn)生了比較深遠的影響。六、源程序(帶注釋)#include<iostream>#include<iomanip>#include<stdlib.h>#include<string.h>#include<stdio.h>using namespace std;typedef stru
4、ct int weight; int parent,lchild,rchild;char charr;HTNode,*HuffmanTree;typedef char *HuffmanCode;void Select(HuffmanTree HT,int i,int &s1,int &s2) int j,k=1; while(HTk.parent!=0)k+;s1=k;for(j=1;j<=i;+j)if(HTj.parent=0&&HTj.weight<HTs1.weight)s1=j;k=1;while(HTk.parent!=0|k=s1)k+
5、;s2=k;for(j=1;j<=i;+j)if(HTj.parent=0&&HTj.weight<HTs2.weight&&j!=s1)s2=j;void HuffmanCoding(HuffmanTree &HT,int *w,int n)int m,i,s1,s2;if(n <= 1) return;m = 2 * n - 1;HT = (HuffmanTree)malloc(m + 1) * sizeof(HTNode);for(i = 1;i <= n;+i)HTi.weight = wi;HTi.lchild = 0;
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)結(jié)構(gòu) 實驗 四哈夫曼樹 哈夫曼 編碼