資料結構實驗9

2022-08-21 14:09:07 字數 1087 閱讀 7642

題目:根據哈夫曼(huffman)編碼的原理,編寫乙個程式,在使用者輸入節點權重的基礎上建立它的哈夫曼編碼。

test.h

#include#include

#define max 20

#define maxvalue 1000typedef

struct

huffnode

huffman;

void init(huffman *huffmantree,int *w,char *z,intn)}

void sethuffmantree(huffman *huffmantree,int

n)

else

if (huffmantree[j].parent==-1&&huffmantree[j].weight}

huffmantree[x1].parent=i;

huffmantree[x2].parent=i;

huffmantree[i].lchild=x1;

huffmantree[i].rchild=x2;

huffmantree[i].weight=m1+m2;

}}void huffmantreecode(huffman *huffmantree,int

n)

for(j=0,k=hclen-1;j//

將編碼寫入相應字元陣列

huffmantree[i].hcode[j]=hc[k];

huffmantree[i].hcode[j]='

\0';//

加上字串結束符

}

return

;}

test.c

#include"

test.h

"#include

intmain()

init(huffmantree,w,z,n);

sethuffmantree(huffmantree,n);

huffmantreecode(huffmantree,n);

for(i=0;i)

return0;

}

資料結構實驗

資料結構實驗 寫乙個學生管理系統 如下 define overflow 1 define ok 1 define error 1 define maxsize 6 define increment 10 include include include include typedef int stat...

資料結構實驗

資料結構實驗 實驗一 順序表的實現及應用 實驗一 順序表的實現及應用 一 實驗實習目的及要求 了解和掌握線性表的順序儲存結構 掌握用c語言上機除錯線性表的基本方法 掌握線性表的基本操作 插入 刪除 查詢以及線性表合併等運算在順序儲存結構和鏈結儲存結構上的運算,以及對相應演算法的效能分析。二 實驗實習...

資料結構9 查詢

查詢 靜態查詢 不涉及插入和刪除操作的查詢 適用於查詢集合一經生成,便只對其進行查詢,而不進行插入和刪除操作 或經過一段時間的查詢之後,集中的進行插入和刪除等修改操作 動態查詢 設計插入和刪除操作的查詢 適用於查詢與刪除操作在同乙個階段進行,例如當查詢成功時,要刪除查詢到的記錄,當查詢不成功時,要插...