一 . 需求分析:
1) 輸入形式和輸入值范圍:
輸入形式是要壓縮(或者要解壓)的文件路徑,輸入范圍是字符串,而且要是文件的路徑。
2) 輸出形式:
輸出相應(yīng)的編碼壓縮文件和解碼原文件
3) 程序所能達(dá)到的功能:
利用哈夫曼對(duì)ASCII文件做不等長(zhǎng)編碼,達(dá)到壓縮文件。利用哈夫曼樹(shù)的遍歷,達(dá)到解壓文件的目的。程序的功能也就是實(shí)現(xiàn)壓縮和解壓ASCII類(lèi)型文件的目的。
4)測(cè)試數(shù)據(jù):(包括正確的輸入數(shù)據(jù)及其輸出結(jié)果和含有錯(cuò)誤輸入及其輸出結(jié)果)
測(cè)試輸入或者輸出文本框是不是有空的,是不是不是有效路徑。進(jìn)行條件判斷,實(shí)現(xiàn)錯(cuò)誤處理。
比如要壓縮:c:\a.txt 文件路徑就是:c:\a.txt。如果輸入框是空的,就判斷,然后用MessageBox處理信息。
如果文件路徑和文件的輸出路徑都寫(xiě)正確的話(huà),就會(huì)輸出相應(yīng)的壓縮或者解壓文件,否則用函數(shù)MessageBox提示錯(cuò)誤。然后進(jìn)行更正。
二 . 概要設(shè)計(jì):
1) 哈夫曼樹(shù)的特點(diǎn)
a) 是二叉樹(shù)的一種,而且是一種沒(méi)有度數(shù)是1的二叉樹(shù)
b) 一棵樹(shù)有n個(gè)葉子,就會(huì)用2n-1個(gè)節(jié)點(diǎn)
c) 一種“最優(yōu)”二叉樹(shù),由于樹(shù)的帶權(quán)路徑(WPL)最小
d) 由于它是由下到上順序構(gòu)造的,使得分支節(jié)點(diǎn)和葉子節(jié)點(diǎn)從下到上,權(quán)值都是從小到大的順序排列的
標(biāo)簽:
輸入
分
解壓
路徑
上傳時(shí)間:
2013-12-03
上傳用戶(hù):zsjzc