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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-赫夫曼編碼系統(tǒng)-展示頁(yè)

2025-01-25 17:05本頁(yè)面
  

【正文】 flag1){tempCode[start] = 39。for(flag1=i, flag2=list[i].parent。 icodeSize。\039。exit(0)。exit(0)。 char *tempCode。code, int codeSize){int i, start。list[i].rchild = rnode。 list[i].weight = list[lnode].weight + list[rnode].weight。}}}//此部分函數(shù)功能為選擇出的結(jié)點(diǎn)建立關(guān)系 list[lnode].parent = i。} else if (list[j].weight value2){ value2 = list[j].weight。 value1 = list[j].weight。 ++j) {if (list[j].parent == 1){ if (list[j].weight value1){ value2 = value1。//此部分函數(shù)功能為選擇權(quán)值最小的兩個(gè)結(jié)點(diǎn) for(j=0。 ++i){ value1 = value2 = 32767。}/***********************開(kāi)始建立赫夫曼樹(shù) ******************************/ for(i=codeSize。ptrweight = 0。 ++i, ++ptr){ptrdata = 39。}for(。ptrweight = info[i].weight。 icodeSize。exit(0)。limit = codeSize * 2 1。 int value1, value2。list, Static *info, int codeSize){int i, j, limit。 //存放字符權(quán)重}Static。//Static info: info 為存放字符權(quán)重的數(shù)組指針. typedef struct{char data。 //存放字符權(quán)重int parent, lchild, rchild。. Huffman 樹(shù)//HuffmanTree list: list 為赫夫曼樹(shù).typedef struct{ char data。文件編碼后分別導(dǎo)出編碼后文件與文件密鑰。然后程序會(huì)提示操作者將加密后的文件導(dǎo)入程序中,程序會(huì)根據(jù)在程序中獲取到的二進(jìn)制編碼與赫夫曼編碼進(jìn)行對(duì)照識(shí)別,顯示出對(duì)應(yīng)的字符,因此,文件的解密工作完成。 (至此,文件的加密工作應(yīng)經(jīng)全部完成) 。 (至此,加密的文件應(yīng)經(jīng)生成) 。然后讓操作人員選擇對(duì)文件進(jìn)行編碼。進(jìn)入程序后,會(huì)要求操作人員選擇將要編碼的文件,并將其導(dǎo)入到程序中,程序正確導(dǎo)入文件后將會(huì)對(duì)文件從開(kāi)始至結(jié)束掃描一遍,對(duì)文件中的字符進(jìn)行統(tǒng)計(jì),在最后計(jì)算出每個(gè)字符出現(xiàn)的頻率,并將頻率換算成每個(gè)字符相應(yīng)的權(quán)重。4. 設(shè)計(jì)說(shuō)明本次編寫(xiě)的程序按著對(duì)文件的編碼(加密)和解碼(解密)的兩大步驟展開(kāi)。本次的課程設(shè)計(jì)以赫夫曼編碼為題,設(shè)計(jì)出赫夫曼文件編碼系統(tǒng),旨在對(duì)文件中的內(nèi)容進(jìn)行分析、統(tǒng)計(jì)、處理,進(jìn)而按照赫夫曼編碼的理論,對(duì)文件進(jìn)行簡(jiǎn)單加密?!稊?shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告課程名稱(chēng) :赫夫曼編碼系統(tǒng)姓 名 : 學(xué) 號(hào) : 專(zhuān) 業(yè) : 班 級(jí) : 指導(dǎo)教師 : 二〇一二年 十二月 1 / 29目錄 Contents1. 課程小組 2. 小組成員及分工 22. 設(shè)計(jì)目的和要求 23. 需求分析 24. 設(shè)計(jì)說(shuō)明 2. 文件編碼(加密) 2. 文件解碼(解密) 35. 詳細(xì)設(shè)計(jì) 3. 程序主體結(jié)構(gòu) 3. 主要算法說(shuō)明 3. Huffman 樹(shù) 3. Huffman 編碼 5. 字符權(quán)重計(jì)算 6. 字符解碼 96. 實(shí)驗(yàn)結(jié)果 10. 實(shí)驗(yàn)結(jié)果說(shuō)明 10. 程序運(yùn)行截圖 117. 設(shè)計(jì)體會(huì) 128. 參考文獻(xiàn) 139. 附:程序代碼 13 2 / 291. 課程小組…2. 設(shè)計(jì)目的和要求通過(guò)課程設(shè)計(jì),讓學(xué)生進(jìn)一步熟悉與鞏固數(shù)據(jù)結(jié)構(gòu)中常用算法,加深體會(huì)利用數(shù)據(jù)結(jié)構(gòu)的算法解決實(shí)際問(wèn)題的能力,培養(yǎng)學(xué)生進(jìn)行復(fù)雜程序設(shè)計(jì)的技能,提高學(xué)生的思維能力、并促進(jìn)其綜合應(yīng)用能力、分析能力和團(tuán)隊(duì)合作能力的提高。3. 需求分析隨著網(wǎng)絡(luò)信息科技的不斷高速發(fā)展,網(wǎng)絡(luò)上的問(wèn)題也不斷顯露出來(lái),特別是人們特別關(guān)注的安全隱私問(wèn)題,所以文件的傳輸安全性要特別地亟待解決和提高。特別是,不同的文本文件有不同的字符處理形式,所以因此每一個(gè)文本都會(huì)有一個(gè)相應(yīng)的密鑰,用于對(duì)文本的解碼。(加密)首先選擇文件編碼程序。然后根據(jù)得到的字符權(quán)重,構(gòu)造赫夫曼樹(shù)并因此完成赫夫曼編碼(至此,文件的導(dǎo)入分析過(guò)程已完成) 。此時(shí),程序?qū)?huì)繼續(xù)打開(kāi)文件,繼續(xù)掃描一遍,并在掃描的過(guò)程中將掃描到得字符根據(jù)剛才編好的赫夫曼編碼進(jìn)行對(duì)照,將對(duì)應(yīng)的赫夫曼編碼寫(xiě)入另一個(gè)文件(即加密的文件) ,所以,如果用戶(hù)代開(kāi)加密的文件即看到里面全是二進(jìn)制代碼,并不能分析出里面究竟是什么內(nèi)容。最后,因?yàn)槊總€(gè)文件中的內(nèi)容不同,所以每個(gè)文件的赫夫曼編碼也不同,而赫夫曼編 3 / 29碼是根據(jù)字符的權(quán)重生成的,所以每個(gè)文件都對(duì)應(yīng)一個(gè)字符權(quán)重系列(即密鑰) ,如果失去這個(gè)密鑰,即使對(duì)文件進(jìn)行了加密,也不同解密文件的內(nèi)容,即文件加密失效,所以在生成加密文件后,一定要導(dǎo)出文件的字符權(quán)重(即密鑰) ,以待之后的解碼使用。(解密)文件的解碼程序是一步完成的,即要求操作者首先將之前生成的字符權(quán)重(即密鑰)導(dǎo)入程序,程序根據(jù)獲取到得字符權(quán)重,調(diào)用赫夫曼編碼子程序,進(jìn)行赫夫曼編碼。5. 詳細(xì)設(shè)計(jì)程序主體結(jié)構(gòu)分為文件編碼與文件解碼兩個(gè)子程序。文件解碼需導(dǎo)入編碼文件與文件密鑰,然后顯示文本內(nèi)容。 //存放字符數(shù)據(jù) int weight。 //分別為根、左子樹(shù)、右子樹(shù)}HuffmanTree。 //存放字符數(shù)據(jù)int weight。//int codeSize: codeSize 為字符種類(lèi)個(gè)數(shù). 4 / 29void CreatHuffmanTree(HuffmanTree *amp。 int lnode, rnode。HuffmanTree *ptr。 //limit 為赫夫曼樹(shù)結(jié)點(diǎn)個(gè)數(shù)if ((list = (HuffmanTree *)malloc(sizeof(HuffmanTree) * limit)) == NULL){printf( 內(nèi)存不足, 操作失敗!\n)。}/*******************初始化赫夫曼樹(shù)各結(jié)點(diǎn)信息 **************************/ for(i=0, ptr=list。 ++i, ++ptr){ptrdata = info[i].data。ptrparent = ptrlchild = ptrrchild = 1。 ilimit。039。ptrparent = ptrlchild = ptrrchild = 1。 ilimit。 lnode = rnode = 1。 ji。rnode = lnode。 5 / 29lnode = j。rnode = j。list[rnode].parent = i。 list[i].lc
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1