freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

哈夫曼編碼的java實(shí)現(xiàn)課程設(shè)計(jì)-wenkub

2023-06-13 22:29:06 本頁面
 

【正文】 結(jié)點(diǎn) T 為根結(jié)點(diǎn)的增長樹 , 根結(jié)點(diǎn) T = T1 + T2 ,即新樹的根值為原來兩棵樹的根值之和 , 而 T1 和T2 分別為增長樹的左右子樹。 2 構(gòu)造哈夫曼樹的算法 1)對給定的 n個(gè)權(quán)值 {W1,W2,W3,...,Wi,...,Wn}構(gòu)成 n棵二叉樹的初始集合F={T1,T2,T3,...,Ti,..., Tn},其中每棵二叉樹 Ti中只有一個(gè)權(quán)值為 Wi的根結(jié)點(diǎn),它的左右子樹均為空。 例如,對于 4個(gè)權(quán)值為 7的節(jié)點(diǎn)構(gòu)造一棵哈夫曼樹,其構(gòu)造過程如下圖所示: 圖 1 構(gòu)造哈夫曼樹的過程示例 二、 求解方法介紹 以往的哈夫曼編碼程序?qū)崿F(xiàn)都是利用 PASCAL 或 C 語言描述的 , 而這兩門語言都有相應(yīng)的指針類型來解決 , 實(shí)現(xiàn)起來較為容易 , 但是 , JAVA語言是面向?qū)ο蟮木幊陶Z言 , 沒有提供指針類型 , 所以在實(shí)現(xiàn)上應(yīng)該結(jié)合 JAVA 的應(yīng)用環(huán)境 , 采用靜態(tài)的方法解決。對每個(gè)字符及相應(yīng)的頻度作為葉結(jié)點(diǎn)建立哈夫曼樹。 為了體現(xiàn)程序中各個(gè)功能的獨(dú)立性 , 結(jié)合 JAVA 語言的編程要求 , 對程序中所用到的類和方法進(jìn)行說明 : 1 公共類 Tree:組成哈夫曼樹的最小單元。 2 公共類 Huffman: 描述哈夫曼編碼的整個(gè)過程 ,其成員變量有: numsMo:儲存要進(jìn)行編碼的一組數(shù)。 3 核心方法及流程 4 main 方法 : 用于程序的執(zhí)行入口。 pareNum 方法:是公共類 Huffman的核心算法之一,該方法是將一組樹形成哈夫曼 樹,左孩子為較小值。 通過本次的課程設(shè)計(jì),我學(xué)習(xí)了很多在上課沒懂的 知識,并對求哈夫曼樹及哈夫曼編碼的算法有了更加深刻的了解,更鞏固了課堂中學(xué)習(xí)有關(guān)于哈夫曼編碼的知識,真正學(xué)會了一種算法。 import 。 private String temp。 temp=。 String[] strs = ( )。 ((strs[i]))。 ((min[0]))。 pareNum(nums,trees)。 }else if(num == ()){ temp = 0+temp。 (d+ : )。 } public double[] minTwo(ListDouble nums) {// 在一組數(shù)中選則最小的兩個(gè),按遞增排序返回 Double temp = 。 i ()。 } } } dou
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1