一 . 需求分析: 1) 輸入形式和輸入值范圍: 輸入形式是要壓縮(或者要解壓)的文件路徑,輸入范圍是字符串,而且要是文件的路徑。 2) 輸出形式: 輸出相應的編碼壓縮文件和解碼原文件 3) 程序所能達到的功能: 利用哈夫曼對ASCII文件做不等長編碼,達到壓縮文件。利用哈夫曼樹的遍歷,達到解壓文件的目的。程序的功能也就是實現壓縮和解壓ASCII類型文件的目的。 4)測試數據:(包括正確的輸入數據及其輸出結果和含有錯誤輸入及其輸出結果) 測試輸入或者輸出文本框是不是有空的,是不是不是有效路徑。進行條件判斷,實現錯誤處理。 比如要壓縮:c:\a.txt 文件路徑就是:c:\a.txt。如果輸入框是空的,就判斷,然后用MessageBox處理信息。 如果文件路徑和文件的輸出路徑都寫正確的話,就會輸出相應的壓縮或者解壓文件,否則用函數MessageBox提示錯誤。然后進行更正。 二 . 概要設計: 1) 哈夫曼樹的特點 a) 是二叉樹的一種,而且是一種沒有度數是1的二叉樹 b) 一棵樹有n個葉子,就會用2n-1個節點 c) 一種“最優”二叉樹,由于樹的帶權路徑(WPL)最小 d) 由于它是由下到上順序構造的,使得分支節點和葉子節點從下到上,權值都是從小到大的順序排列的
上傳時間: 2013-12-03
上傳用戶:zsjzc
氣候分析中檢驗突變的經典程序,如滑動t檢驗,cv,滑動f檢驗等
上傳時間: 2014-01-08
上傳用戶:yulg
算符優先文法分析的c語言實現代碼 需要輸入詞法分析的txt結果文件- The operator first grammar analysis c language realization code needs to input the lexical analysis the txt result document
標簽: realization analysis operator language
上傳時間: 2015-12-28
上傳用戶:youlongjian0
本書提供用J B u i l d e r開發數據庫應用程序、創建分布式應用程序以及編寫J a v a B e a n 組件的高級資料。它包括下列幾個部分: • 第一部分是“開發數據庫應用程序”,它提供關于使用J b u i l d e r的D a t a E x p r e s s數據 庫體系結構的信息,并解釋原始數據組件和類之間的相互關系,以及怎樣使用它 們來創建你的數據庫應用程序。它還解釋怎樣使用Data Modeler(數據模型器)和 Application Generator(應用程序生成器)創建數據驅動的客戶機/服務器應用程 序。 • 第二部分是“開發分布式應用程序”,它提供關于使用ORB Explorer、用J B u i l d e r 創建多級的分布應用程序、調試分布式應用程序、用J a v a定義C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“創建J a v a B e a n”,它解釋怎樣開發新的J a v a B e a n組件,描述在組件 開發中涉及的任務, 怎樣使用B e a n s E x p r e s s創建新的J a v a B e a n,以及關于屬性、 事件、B e a nIn f o類和其他方面的詳細情況。
上傳時間: 2014-01-03
上傳用戶:wpt
用分支限界法求解背包問題(0/1背包) 1.問題描述:已知有N個物品和一個可以容納TOT重量的背包,每種物品I的重量為Weight,價值為Value。一個只能全放入或者不放入,求解如何放入物品,可以使背包里的物品的總價值最大。 2.設計思想與分析:對物品的選取與否構成一棵解樹,左子樹表示裝入,右表示不裝入,通過檢索問題的解樹得出最優解,并用結點上界殺死不符合要求的結點。
上傳時間: 2016-02-09
上傳用戶:我們的船長
Gibbs現象,畫出由N次諧波合成的周期方波的波形圖,分析Gibbs現象
上傳時間: 2014-01-12
上傳用戶:問題問題
//構造具有指定的標簽的菜單 files = new Menu("文件(F)") compile = new Menu("編輯(E)") see = new Menu("查看(V)") format = new Menu("格式(O)") font = new Menu("字體和顏色(F)...") //在格式菜單下再添加一個字體及顏色的菜單 help = new Menu("幫助(H)") //構造具有指定的標簽的菜單項 news = new MenuItem("新建(N)" + " " + "Ctrl+N") open = new MenuItem("打開(O)..." + " " + "Ctrl+O") save = new MenuItem("保存(S)" + " " + "Ctrl+S") other = new MenuItem("另存為(A)...") page = new MenuItem("頁面設置(U)...") mim = new MenuItem("打印(P)..." + " " + "Ctrl+P") quit = new MenuItem("退出(X)")
上傳時間: 2016-02-27
上傳用戶:小儒尼尼奧
數據結構與算法分析設計的實驗作業,歸并排序、二分查找法、N皇后的算法源代碼
上傳時間: 2014-01-23
上傳用戶:jyycc
一個能夠分析三種整數、標識符、主要運算符和主要關鍵字的詞法分析程序。 ㈠、基本要求: 標識符 <字母>(<字母>|<數字字符>)* 十進制整數 0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八進制整數 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六進制整數 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 運算符和分隔符 + - * / > < = ( ) ; 關鍵字 if then else while do ㈡、附加要求: 標識符 <字母>(<字母>|<數字字符>)*(ε|_|.)(<字母>|<數字字符>)* 十進制整數 (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(ε|.)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八進制整數 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* (ε|.)(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六進制整數 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* (ε|.) (0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*
上傳時間: 2016-03-03
上傳用戶:zhengjian
數據結構 1、算法思路: 哈夫曼樹算法:a)根據給定的n個權值{W1,W2… ,Wn }構成 n棵二叉樹的集合F={T1,T2…,T n },其中每棵二叉樹T中只有一個帶權為W i的根結點,其左右子樹均空;b)在F中選取兩棵根結點的權值最小的樹作為左右子樹構造一棵新的二叉樹,且置新的二叉樹的根結點的權值為其左、右子樹上結點的權值之和;c)F中刪除這兩棵樹,同時將新得到的二叉樹加入F中; d)重復b)和c),直到F只含一棵樹為止。
上傳時間: 2016-03-05
上傳用戶:lacsx