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

正文內(nèi)容

哈夫曼樹課程設(shè)計(2)-其他專業(yè)-資料下載頁

2025-01-19 08:18本頁面

【導(dǎo)讀】算法的實(shí)現(xiàn)取決于數(shù)據(jù)的物理存儲結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是信息的一種組織方式,其目??梢詫?shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)進(jìn)行某種操作。在當(dāng)今信息時代,信息技術(shù)己成為當(dāng)代知識經(jīng)濟(jì)的核心技術(shù)。比如人們在外出工作時找最短路徑,在銀行查詢存款、通過互聯(lián)。網(wǎng)查新聞、以及遠(yuǎn)程教育報名等,所有這些都在與數(shù)據(jù)發(fā)生關(guān)系。世界中的實(shí)體經(jīng)過抽象以后,就可以成為計算機(jī)上所處理的數(shù)據(jù)。作對象以及它們之間的關(guān)系和操作的學(xué)科。通過課程設(shè)計可以提高學(xué)生的思維能力,促進(jìn)學(xué)生的綜合應(yīng)用能。力和專業(yè)素質(zhì)的提高。通過此次課程設(shè)計主要達(dá)到以下目的:。所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。能力和成員間的配合,提高程序編寫能力。在信息傳遞時,希望長度能盡可能短,即采用最短碼。分為給信息加密在寫進(jìn)文件,再在對其翻譯。最后的主函數(shù)是整個程序的組織者,

  

【正文】 { if(HuffNode[j].data==messagemes[i]) for(m=HuffCode[j].start+1。mtotalnum。m++) { lockinglocked[lockingnum]=HuffCode[j].bit[m]。 lockingnum++。//locked 數(shù)組總數(shù)加 1 } } } }//給文件信息加密編碼 void writing_lock(Locking *locking) { int i。 ofstream outfile(c:\\,ios::in|ios::out)。 if(!outfile)//打開失敗則結(jié)束 { cout打開 c:\\ 文件失敗 endl。 exit(1)。 } for(i=0。ilockingnum。i++)//寫文件 if(lockinglocked[i]==1) (39。 39。)。 else outfilelockinglocked[i]。 cout已編碼信息寫進(jìn)文件成功 endl。 ()。//關(guān)閉文件 }//將哈夫曼編碼后的密文信息寫進(jìn)文件 void writing_translate(Locking *locking,HCodetype HuffCode[],HNodetype HuffNode[],Total *total) { int i,j,mark[100],start[100],min,max。 ofstream outfile(c:\\,ios::in|ios::out)。//打 開文件 if(!outfile)//打開失敗則結(jié)束 { cout打開 c:\\ 文件失敗 endl。 exit(1)。 } for(i=0。itotalnum。i++)//start 數(shù)組初始化 start[i]=HuffCode[i].start+1。 for(i=0。itotalnum。i++)//mark 數(shù)組初始化 mark[i]=1。 16 min=0。 for(max=0。maxlockingnum。max++)//寫文件 { if(lockinglocked[max]==1)//碰到空格信息則直接輸出空格 { (39。 39。)。 min++。 } else { for(i=min。i=max。i++)//查找從 min開始到 max的編碼對應(yīng)的信息 { for(j=0。jtotalnum。j++) { if(start[j]==totalnum+1) mark[j]=0。//對 應(yīng)編碼比所給編碼短則不在比較 if(mark[j]==1amp。amp。lockinglocked[i]==HuffCode[j].bit[start[j]]) start[j]++。 else mark[j]=0。 } } for(i=0。itotalnum。i++)//找到對應(yīng)信息,則寫進(jìn)文件 { if(mark[i]==1amp。amp。start[i]==totalnum) { (HuffNode[i].data)。 break。 } } if(i!=totalnum) min=max+1。 for(i=0。itotalnum。i++)//start 數(shù)組初始化 start[i]=HuffCode[i].start+1。 for(i=0。itotalnum。i++)//mark 數(shù)組初始化 mark[i]=1。 } } cout翻譯信息寫進(jìn)文件成功 endl。 ()。//關(guān)閉文件 } 17 及問題分析 程序測試結(jié)果 在 C 盤中輸入一個 reading 的文本文檔 運(yùn)行后有如下界面再選擇操作代碼 1: 再選擇 2,即出現(xiàn)如下哈夫曼編碼界面: 選擇代碼 3,使程序運(yùn)行,信息寫進(jìn)文件: 問題分析 程序的設(shè)計過程中,我們遇到不少問題,比如對文件的讀寫不能精確的掌握,所以這部分的設(shè)計過程中總免不了要翻書,有 的 時 侯 會打開文件之后忘記()。在哈夫曼編碼的時候,在 reading 的文件中的拼寫錯誤使我們運(yùn)行過多次,但最終還是發(fā)現(xiàn)了,語法的錯誤導(dǎo)致浪費(fèi)了很多時間,針對不同的電腦程序運(yùn)行有的會 出現(xiàn)不同的結(jié)果,比如:有的電腦只需要輸入一個 reading文件就可以,但有的電腦運(yùn)行就需要把 writing 等的都寫出來,才能運(yùn)行,這可能是電腦的系統(tǒng)問題,但最終還是克服了。最主要的是編寫程序是的細(xì)節(jié)錯誤, 18 但那是對算法的一種真正的考察,如果哈夫曼的算法不能熟悉的寫出,說明其思想沒有滲透這才是問題的關(guān)鍵,但是我們還是齊心協(xié)力把它給寫出來了。 通過本次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,我學(xué)習(xí)了很多在上課沒懂的知識,并對求哈夫曼樹及哈夫曼編碼 /譯碼的算法有了更加深刻的了解,更鞏固了課堂中學(xué)習(xí)有關(guān)于哈夫曼編碼的知識,真正 學(xué)會一種算法了。當(dāng)求解一個算法時 ,不是拿到問題就不加思索地做,而是首先要先對它有個大概的了解,接著再詳細(xì)地分析每一步怎么做,無論自己以前是否有處理過相似的問題,只要按照以上的步驟,必定會順利地做出來。 這次課程設(shè)計,我在編輯中犯了不應(yīng)有的錯誤,設(shè)計統(tǒng)計字符和合并時忘記應(yīng)該怎樣保存保存數(shù)據(jù),在不斷分析后明確并改正了錯誤和疏漏,使我的程序有了更高的質(zhì)量。這不僅是程序設(shè)計 ,更是鍛煉我們處理問題的能力 ,同時也使我們了解到團(tuán)隊合作的可貴 .編寫程序是件細(xì)心活 ,稍不留神就會出錯 ,這就必須要求我們對待事情要認(rèn)真 !在編寫程序 的過程中 ,錯誤不斷出現(xiàn) ,不同的類型 (如少寫了一個符號 ,寫錯了字母 ,用錯了函數(shù)等等 )層出不窮 ,這考驗(yàn)我們待事細(xì)心 ,耐心 ,能不能堅持到底 ,不能半途而廢。 三人行必有我?guī)?,遇到問題我們一起討論 ,研究 ,錯了再寫 ,寫了在改 .經(jīng)過多次的修改 ,調(diào)試 ,運(yùn)行 ,添加 ,終于最后在大家的歡呼聲中 ,完成了我 們 的任務(wù) .雖說是累了點(diǎn),但我 們 也從中找到了自己的快樂,每當(dāng)完成一個新的函數(shù)時,那心情是激動啊 ,這畢竟是自己弄出來的 ,同時也使我感受到了學(xué)習(xí)的快樂! [1]嚴(yán)蔚敏,吳偉民.《數(shù)據(jù)結(jié)構(gòu): C 語言版》.北京:清華大學(xué)出版社 . [2]陳維興,林小茶 .《 C++面向?qū)ο蟪绦蛟O(shè)計教程(第三版)》北京:清華大學(xué)出版社.
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1