實(shí)現(xiàn)最優(yōu)二叉樹(shù)的構(gòu)造;在此基礎(chǔ)上完成哈夫曼編碼器與譯碼器。 假設(shè)報(bào)文中只會(huì)出現(xiàn)如下表所示的字符:
字符 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
要求完成的系統(tǒng)應(yīng)具備如下的功能:
1.初始化。從終端(文件)讀入字符集的數(shù)據(jù)信息,。建立哈夫曼樹(shù)。
2.編碼:利用已建好的哈夫曼樹(shù)對(duì)明文文件進(jìn)行編碼,并存入目標(biāo)文件(哈夫曼碼文件)。
3.譯碼:利用已建好的哈夫曼樹(shù)對(duì)目標(biāo)文件(哈夫曼碼文件)進(jìn)行編碼,并存入指定的明文文件。
4.輸出哈夫曼編碼文件:輸出每一個(gè)字符的哈夫曼編碼。
替代加密:
A B C D E F G H I J K L M N O P Q R S T U V W 密文
Y Z D M R N H X J L I O Q U W A C B E G F K P 明文
X Y Z
T S V
I HAVE A DREAM!#
密文??
用ARM編程實(shí)現(xiàn)替代加密。
算法ebook(10部算法經(jīng)典著作的合集) 算法ebook> 10部算法經(jīng)典著作的合集 chm格式 (1)Fundamentals of Data Structures by Ellis Horowitz and Sartaj Sahni (2)Data Structures, Algorithms and Program Style Using C by James F. Korsh and Leonard J. Garrett (3)Data Structures and Algorithm Analysis in C by Mark Allen Weiss (4)Data Structures: From Arrays to Priority Queues by Wayne Amsbury (5)Information Retrieval: Data Structures & Algorithms edited by William B. Frakes and Ricardo Baeza-Yates (6)Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest (7)Practical Data Structures in C++ by Bryan Flamig (8)Reliable Data Structures in C by Thomas Plum (9)Data Structures and Algorithms Alfred V. Aho, Bell Laboratories, Murray Hill, New Jersey John E. Hopcroft, Cornell University, Ithaca, New York Jeffrey D. Ullman, Stanford University, Stanford, California (10)DDJ Algorithms and Data Structures Articles
計(jì)算這個(gè)智力題:
在這個(gè)乘法算式里,每一個(gè)字母代表著0-9中的一個(gè)數(shù),不同字母代表不同數(shù)。
A B C D E F G H
* A J
---------------------
E J A H F D G K C
B D F H A J E C
---------------------
C C C C C C C C C
請(qǐng)問(wèn),C 代表哪個(gè)數(shù)字?
一個(gè)基于GTK+的單詞數(shù)值計(jì)算器,1、 按照規(guī)則計(jì)算單詞的值,如果 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 26個(gè)字母(全部用大寫(xiě))的值分別為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,如:
WINJACK這個(gè)單詞的值就為:W+I+N+J+A+C+K=23+9+14+1+3+11=71%
HARDWORK=H+A+R+D+W+O+R+D=8+1+18+4+23+15+18+11=98%
LOVE=L+O+V+E=12+15+22+5=54%
LUCK=L+U+C+K=12+21+3+11=47%
ATTITUDE= A+T+T+I+T+U+D+E=1+20+20+9+20+24+4+5=100%
2、對(duì)程序的界面布局參考如下圖所示,在第一個(gè)單行文本框輸入一個(gè)單詞,點(diǎn)擊“計(jì)算”按鈕,按照以上算法計(jì)算出該單詞的值。
3、如果在最下面的單行文本框輸入一個(gè)文件路徑,此文件每行記錄一個(gè)單詞,那么經(jīng)過(guò)程序計(jì)算出各個(gè)單詞的值,并把結(jié)果輸出到當(dāng)前目錄下result.txt文件中。如果文件不存在,應(yīng)該提示錯(cuò)誤。
課程設(shè)計(jì):
1.求出在一個(gè)n×n的棋盤(pán)上,放置n個(gè)不能互相捕捉的國(guó)際象棋“皇后”的所有布局。
2.設(shè)計(jì)一個(gè)利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止。
【基本要求】
1) 將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中)
2) 分別采用動(dòng)態(tài)和靜態(tài)存儲(chǔ)結(jié)構(gòu)
3) 初始化:鍵盤(pán)輸入字符集大小n、n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹(shù);
4) 編碼:利用建好的哈夫曼樹(shù)生成哈夫曼編碼;
5) 輸出編碼;
6) 設(shè)字符集及頻度如下表:
字符 空格 A B C D E F G H I J K L M
頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20
字符 N O P Q R S T U V W X Y Z
頻度 57 63 15 1 48 51 80 23 8 18 1 16 1