一、實驗目的
1.在二叉樹基本操作的基礎上,掌握對二叉樹的一些其它操作的具體現方法.
2.掌握構造哈夫曼樹以及哈夫曼編碼的方法.
3、熟練掌握哈夫曼樹(最優二叉樹)特徵及其應用.
二、實驗內容
哈夫曼樹和哈夫曼編碼:
從終端輸入若干個字元,統計(或指定)字元出現的頻率,將字元出現的頻率作為結點的權值,建立哈夫曼樹,然後對各字元進行哈夫曼編碼。最後列印哈夫曼樹和對應的哈夫曼編碼。
㈠、資料結構與核心演算法的設計描述
# include <>
# include <>
# include <>
# include <>
# include <>
# define max_length 100
typedef char **huffmancode;
typedef structdefine structure huffmantree
htnode,*huffmantree;
㈡、函式呼叫及主函式設計
㈢、程式清單
void select(huffmantree ht,int i,int &s1,int &s2)
void huffmancoding(huffmantree &ht,huffmancode&hc,int *w,int n)
for(;i<=m;++i,++p)//initial ht[n+1...2*n1]
cout< for(i=n+1;i<=m;++i)
hc=(huffmancode)malloc((n+1)*sizeof(char *));
char *cd;
cd=(char *)malloc(n*sizeof(char));
cd[n-1]='\0';
cout< for(i=1;i<=n;++i)
cout< free(cd);
}主函式:
void main
w=w;
huffmancoding(ht,hc,w,n);
}㈢執行結果分析
㈣ 實驗總結
通過做這次實驗,發現自己在資料結構這門課中還有很多不足有很多知識還沒掌握,所以在寫程式的時候出現了很多的錯誤。哈弗曼編碼輸入抽象資料型別,不易掌握,需要慢慢修改。只有認真對待每一次實驗才能更好的掌握知識。
哈弗曼樹實驗報告
實驗四哈夫曼樹及其的應用 一 實驗目的 1 在二叉樹基本操作的基礎上,掌握對二叉樹的一些其它操作的具體實現方法。2.掌握構造哈夫曼樹以及哈夫曼編碼的方法。3 熟練掌握哈夫曼樹 最優二叉樹 特徵及其應用 二 實驗內容 哈夫曼樹和哈夫曼編碼 從終端輸入若干個字元,統計 或指定 字元出現的頻率,將字元出現...
資料結構哈夫曼樹編碼解碼課程設計實驗報告
資料結構課程設計 設計題目 哈夫曼樹編碼解碼 目錄在當今資訊 時代,如何採用有效的資料壓縮技術節省資料檔案的儲存空間和計算機網路的傳送時間已越來越引起人們的重視,哈夫曼編碼正是一種應用廣泛且非常有效的資料壓縮技術。哈夫曼編碼是一種編碼方式,以哈夫曼樹 即最優二叉樹,帶權路徑長度最小的二叉樹,經常應用...
實驗報告哈夫曼編譯碼系統的設計與實現
資料結構實驗報告 實驗題目 哈夫曼編 解碼系統的設計與實現 該實驗為設計性實驗,共用6個學時 實驗要求 1 問題描述 利用哈夫曼編碼進行通訊可以大大提高通道利用率,縮短資訊傳輸時間,降低傳輸成本。但是,這要求在傳送端通過乙個編碼系統對待傳資料預先編碼,在接收端將傳來的資料進行解碼 復原 對於雙工通道...