【正文】
報(bào)告 1昆明學(xué)院課程設(shè)計(jì)(大作業(yè))任務(wù)書 2 5 5 5 5 6 6 7 7,存放權(quán)值最小和次小序號(hào) 7 7 7 7 7 7 8 8 8 10 13 構(gòu)造一棵哈夫曼樹,根據(jù)所需輸入的字符數(shù)目,分別輸入字符的頻度和字符,得到它們相應(yīng)的編碼,也就是設(shè)計(jì)一個(gè)哈夫曼編碼器。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)能使我們?yōu)槠渌n程打好基礎(chǔ),而課程設(shè)計(jì)作為數(shù)據(jù)結(jié)構(gòu)中一個(gè)重要環(huán)節(jié)能更好的使我們加深對(duì)它的了解。typedef struct {int weight。 /* huffmantree是結(jié)構(gòu)數(shù)組類型,其0號(hào)單元不用,存儲(chǔ)哈夫曼樹 */typedef struct{char ch。 /*huffmancode是結(jié)構(gòu)數(shù)組類型,其0號(hào)單元不用,存儲(chǔ)哈夫曼編碼*/功能模塊劃分void main() //主函數(shù)void inithuffmantree(huffmantree ht) //初始化哈夫曼樹函數(shù)inithuffmantree()void inputweight(huffmantree ht) //輸入權(quán)值函數(shù) void selectmin(huffmantree ht, int i, int *p1, int *p2)void createhuffmantree(huffmantree ht) //構(gòu)造huffman樹,ht[m]為其根結(jié)void huffmancodes(huffmantree ht,huffmancode hcd) /*根據(jù)huffman樹ht求huffman編開始設(shè)置字符數(shù)目n輸入權(quán)值若輸入=n,輸入字符 N Y輸出編碼數(shù)結(jié)束 void inithuffmantree(huffmantree ht)void inputweight(huffmantree ht),存放權(quán)值最小和次小序號(hào)void selectmin(huffmantree ht, int i, int *p1, int *p2)void createhuffmantree(huffmantree ht)void huffmancodes(huffmantree ht,huffmancode hcd) 字符:R S T U V W X Y Z頻度:48 51 80 23 8 18 1 16 10字符: A B C D E F G H I J K L M N O P Q頻度:186 64 13 22 32 103 21 15 47 57 1 2 32 20 57 63 15 1