問題及描述:
/*
煙台大學計算機學院
檔名稱:xia55u.cpp
完成日期:2023年11月5日
問題描述:哈夫曼編碼的演算法驗證
輸入描述:無
輸出描述:哈夫曼編碼結果,平均長度
*/
#include #include #define n 50 //葉子結點數
#define m 2*n-1 //樹中結點總數
//哈夫曼樹的節點結構型別
typedef struct
htnode;
//每個節點哈夫曼編碼的結構型別
typedef struct
hcode;
//構造哈夫曼樹
void createht(htnode ht,int n)
{
int i,k,lnode,rnode;
double min1,min2;
for (i=0; i<2*n-1; i++) //所有結點的相關域置初值-1
ht[i].parent=ht[i].lchild=ht[i].rchild=-1;
for (i=n; i<2*n-1; i++) //構造哈夫曼樹
{
min1=min2=32767; //lnode和rnode為最小權重的兩個結點位置
lnode=rnode=-1;
for (k=0; k<=i-1; k++)
if (ht[k].parent==-1) //只在尚未構造二叉樹的結點中查詢
{
if (ht[k].weight執行結果:
心得體會:
進一步熟悉了哈夫曼編碼的演算法驗證。
第十周 專案3 1
檔名稱 main.cpp 作者 孫彩虹 完成日期 2015年11月23日 問題描述 計算二叉樹節點個數 include include ifndef btree h included define btree h included define maxsize 100 typedef char el...
第十周 專案三
計算機控制工程學院 姓名 陳飛 班級 計156 2 問題及 cpp view plain copy 1 計算二叉樹節點個數 include include btree.h int nodes btnode b int main cpp view plain copy 執行結果 cpp view pl...
第十周專案1(3)
煙台大學計算機學院 檔名稱 xiangmu.cpp 完成日期 2017年11月5日 問題描述 中序線索化二叉樹的演算法驗證 輸入描述 無 輸出描述 線索二叉樹遍歷結果 include include define maxsize 100 typedef char elemtype typedef s...