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

正文內(nèi)容

課程設(shè)計(jì)報(bào)告哈夫曼編碼(編輯修改稿)

2025-08-22 14:29 本頁面
 

【文章內(nèi)容簡介】 rchild=s2。 ht[i].weight=ht[s1].weight+ht[s2].weight。 } for(i=0。i=k1。i++)//對每個葉子結(jié)點(diǎn)進(jìn)行編碼 { cd=new char[k]。 hc[i]= 。 for(j=0。jk。j++) cd[j]=39。 39。 start=k1。 for(c=i,f=ht[i].parent。f!=0。c=f,f=ht[f].parent) if(ht[f].lchild==c) {cd[start]=39。039。} else cd[start]=39。139。 hc[i]=amp。cd[start+1]。 }}void frequency(int * amp。 w,char str[100],int * amp。 c,int n,int amp。 k){//涵數(shù)用于統(tǒng)計(jì)輸入的字符的權(quán)w(出現(xiàn)的次數(shù))。 int i,j,m。 for(i=0。in。i++) { if(i==0){c[0]=0。continue。} for(j=0。ji。j++) if(str[j]==str[i]){c[i]=c[j]。break。} if(j= =i){c[i]=++k。} } for(j=0。j=k。j++) { for(m=0。mn。m++) if(c[m]= =j)w[j]++。 } }已知某系統(tǒng)在通信聯(lián)絡(luò)中只可能出現(xiàn)八種字符,;;;;;;;,試設(shè)計(jì)哈夫曼編碼。設(shè)權(quán)w=(5,29;7;8;14;23;3;11),n=8,則m=15,構(gòu)造哈夫曼樹。如下圖:23111453782901110001100011哈夫曼編碼:12345678011010111011111100001110104調(diào)試報(bào)告程序調(diào)試:(1.)當(dāng)01序列解碼成字符串時,要注意是否與已得出的字符串的編碼匹配,如果不匹配,就把它后面的01序列截掉,不進(jìn)行解碼。(2.) amp。表示函數(shù)的參數(shù)是按地址傳遞的,當(dāng)函數(shù)有多個返回值而無法用return實(shí)現(xiàn)時,通常使用這種。比如: void frequency(int * amp。 w,char str[100],int * amp。 c,int n,int amp。 k)5結(jié)束語經(jīng)驗(yàn)和體會:通過一個星期的努力,總算把課程設(shè)計(jì)給完成了,這是一個堅(jiān)苦而又漫長的過程。是啊,讀了那么多年的書,課程設(shè)計(jì)可是第一次??粗鴦趧映晒?,很欣慰!通過這次課程設(shè)計(jì)之后我覺得自己對書上知識的掌握有很大的欠缺,看了題目都不知道怎么下手,一點(diǎn)頭緒都沒有,之后自己認(rèn)真看了一遍書上的知識,查閱了一些網(wǎng)上資料,我能熟練掌握了二叉樹,然后在此基礎(chǔ)上掌握理解haffman樹和編碼,熟知了二叉樹的性質(zhì)。可是這點(diǎn)小進(jìn)展遠(yuǎn)遠(yuǎn)不夠,這只是一個小小的開始,只能程序的大概輪廓可以寫出來了。但是有很多的細(xì)節(jié)和特殊情況沒法寫上去,例如:用于huffman的構(gòu)造;用于對haffman進(jìn)行編碼;用于統(tǒng)計(jì)輸入的字符的權(quán)w(出現(xiàn)的次數(shù));實(shí)現(xiàn)這些的程序不知道該怎么寫。后來經(jīng)過同學(xué)的幫助和指導(dǎo)慢慢地程序里用到的函數(shù)通過哪些語句來實(shí)現(xiàn)它,那些關(guān)鍵的函數(shù)怎樣把它們有機(jī)結(jié)合起來等等,總之,在同學(xué)的多次指導(dǎo)下一個完整的程序?qū)懗鰜砹?,我也努力地去讀懂它,發(fā)現(xiàn)自己隱約讀懂了它!真正的收獲更多是思想上的,讓我認(rèn)識程序的復(fù)雜,自己的微不足道,“學(xué)無止境”頭一次認(rèn)識的這么深刻,察覺自己的不足。在這次編程中,同學(xué)幫了我很多,我一個人是不能完成的。查書,查資料,請教同學(xué)的過程就是我提高的過程,總之,通過這次的課程設(shè)計(jì),我發(fā)現(xiàn)程序設(shè)計(jì)最重要的就是上機(jī)實(shí)踐,以前只是看書,覺得看懂了,但是真正到機(jī)子上寫程序時感覺無從下手,沒有什么頭緒,可能就是因?yàn)閷?shí)際上機(jī)操作的太少了,以后需要在這方面好好地加強(qiáng)了。以后的學(xué)習(xí)生活真的要踏踏實(shí)實(shí),自己的計(jì)算機(jī)生涯必定是坎坷的,信心受挫了。六、課程設(shè)計(jì)參考資料[1]《數(shù)據(jù)結(jié)構(gòu)(STL框架)》,王曉東編著,清華大學(xué)出版社,出版或修訂時間:2009年9月[2]《數(shù)據(jù)結(jié)構(gòu)(C語言版)》,嚴(yán)蔚敏,吳偉民編著,出版社:清華大學(xué)出版社,出版或修訂時間:1997年4月[3]《數(shù)據(jù)結(jié)構(gòu)習(xí)題集(C語言版)》,嚴(yán)蔚敏,吳偉民,米寧編著,清華大學(xué)出版社,出版或修訂時間:1999年2月起草人:楊克儉2010622附錄F1 源代碼include iostreamusing namespace std。struct Huffman//定義指向結(jié)點(diǎn)的結(jié)構(gòu)體{ int weight。//權(quán)值 int parent,lchild,rchild。//父親結(jié)點(diǎn)和左右結(jié)點(diǎn)的位置}。void select(Huffman * ht,int i,int amp。 s1,int amp。 s2){//選擇權(quán)值較小的兩個作為新的葉子結(jié)點(diǎn),用于huffman的構(gòu)造。 int j,k。 k=s1。 for(j=0。ji+1。j++) if(s1!=jamp。amp。j!=s2amp。amp。ht[j].parent==0) { s1=j。break。 } for(j=0。ji+1。j++) if(s2!=jamp。amp。s1!=jamp。amp。j!=kamp。amp。ht[j].parent==0) { s2=j。break。 } for(j=1。j=i。j++) if(ht[j].weightht[s1].weightamp。amp。ht[j].parent==0)s1=j。 if(s1==s2) {
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1