SCAU 資料結構練習 8609 哈夫曼樹

2021-10-02 16:36:21 字數 764 閱讀 2171

description 利用靜態鍊錶建立赫夫曼樹,建樹過程中要求左子樹權值小於右子樹權值,求各結點的編碼。要求:葉子結點的個數n及結點值由鍵盤錄入。本題給出程式**,要求修改以滿足測試要求.

#include 「stdio.h」

#include 「malloc.h」

#include 「string.h」

typedef structhtnode,*huffmantree;

typedef char **huffmancode;

void select(huffmantree &ht, int n, int &s1, int &s2)

//在ht[1…n]中選擇parent為0且weight最小的兩個結點,

// 其序號分別為s1和s2。{

int i;

s1=-1;s2=-1;

for (i=1;i<=n;i++) {

if (ht[i].parent0)

if (s1-1) s1=i;

else

if (s2==-1 )

if (ht[i].weight0),構造哈夫曼樹ht,

// 並求出n個字元的哈夫曼編碼hc

int i, j, m, s1, s2, start;

char *cd;

unsigned int c, f;

if (n<=1) return;

m = 2 * n - 1;

ht = (huffmantree)malloc((m+1) * size

SCAU 資料結構練習 8577 合併順序表

題目本身沒有難度,都是固定的模板套用,理解了,就會了。順序表的基本操作 如下 include include define ok 1 define error 0 define list init size 100 define listincrement 10 define elemtype in...

SCAU資料結構課後習題 18718 航行

description 銀河帝國正走向覆亡。為保留文明的種子,你需要駕駛飛船將一批 顓家 從帝國首都護送至銀河邊緣的基地。現在已知航線是一條直線,帝國首都為起點 座標0 基地為終點 座標l 在這條航線上有n個空間站可以補充飛船的能源。第i個空間站的座標為ai,飛船停靠在第i個空間站必須花費bi個銀河...

資料結構練習

include include define size 20 typedef struct list 重新命名結構體 list t 建立 list t creat list int size list length 0 空表初始化,實際長度為0 return list 返回堆區申請的首位址 判空 i...