十周 專案1(4)

2021-08-11 05:02:08 字數 1089 閱讀 6329

問題及描述:

/*   

煙台大學計算機學院

檔名稱: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...