本書是Brian W. Kernighan和Rob Pike合著的最新力作。本書從排錯、測試、性能、可移植性、設計、界面、風格和記法等方面,討論了程序設計中實際的、又是非常深刻和具有廣泛意義的思想、技術和方法,它的翻譯出版將填補國內目前這方面書籍的空白。本書值得每個夢想并努力使自己成為優秀程序員的人參考,值得每個計算機專業的學生和計算機工作者閱讀,也可作為程序設計高級課程的教材或參考書。
實現最優二叉樹的構造;在此基礎上完成哈夫曼編碼器與譯碼器。 假設報文中只會出現如下表所示的字符:
字符 A B C D E F G H I J K L M N
頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57
字符 O P Q R S T U V W X Y Z , .
頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2
要求完成的系統應具備如下的功能:
1.初始化。從終端(文件)讀入字符集的數據信息,。建立哈夫曼樹。
2.編碼:利用已建好的哈夫曼樹對明文文件進行編碼,并存入目標文件(哈夫曼碼文件)。
3.譯碼:利用已建好的哈夫曼樹對目標文件(哈夫曼碼文件)進行編碼,并存入指定的明文文件。
4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。