麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

基礎練習 Huffuman樹

2019-11-11 04:54:46
字體:
供稿:網(wǎng)友

問題描述   Huffman樹在編碼中有著廣泛的應用。在這里,我們只關心Huffman樹的構(gòu)造過程。   給出一列數(shù){pi}={p0, p1, …, pn-1},用這列數(shù)構(gòu)造Huffman樹的過程如下:   1. 找到{pi}中最小的兩個數(shù),設為pa和pb,將pa和pb從{pi}中刪除掉,然后將它們的和加入到{pi}中。這個過程的費用記為pa + pb。   2. 重復步驟1,直到{pi}中只剩下一個數(shù)。   在上面的操作過程中,把所有的費用相加,就得到了構(gòu)造Huffman樹的總費用。   本題任務:對于給定的一個數(shù)列,現(xiàn)在請你求出用該數(shù)列構(gòu)造Huffman樹的總費用。

  例如,對于數(shù)列{pi}={5, 3, 8, 2, 9},Huffman樹的構(gòu)造過程如下:   1. 找到{5, 3, 8, 2, 9}中最小的兩個數(shù),分別是2和3,從{pi}中刪除它們并將和5加入,得到{5, 8, 9, 5},費用為5。   2. 找到{5, 8, 9, 5}中最小的兩個數(shù),分別是5和5,從{pi}中刪除它們并將和10加入,得到{8, 9, 10},費用為10。   3. 找到{8, 9, 10}中最小的兩個數(shù),分別是8和9,從{pi}中刪除它們并將和17加入,得到{10, 17},費用為17。   4. 找到{10, 17}中最小的兩個數(shù),分別是10和17,從{pi}中刪除它們并將和27加入,得到{27},費用為27。   5. 現(xiàn)在,數(shù)列中只剩下一個數(shù)27,構(gòu)造過程結(jié)束,總費用為5+10+17+27=59。 輸入格式   輸入的第一行包含一個正整數(shù)n(n<=100)。   接下來是n個正整數(shù),表示p0, p1, …, pn-1,每個數(shù)不超過1000。 輸出格式   輸出用這些數(shù)構(gòu)造Huffman樹的總費用。 樣例輸入 5 5 3 8 2 9 樣例輸出 59

/*求解此題需要一個排序算法,采用效率較低的冒泡了,每次合并兩個數(shù)據(jù)時便會加入一個新的數(shù)據(jù)到數(shù)組中,不知道新加入的是不是最小的,因此排序好的數(shù)組需要更新,直到這個數(shù)組中只有一個元素了。*/ #include<stdio.h>int main(){ int n,Huff[100],i,j,count,cost=0,sum=0; scanf("%d",&n); count=n; for(i=0;i<n;i++) scanf("%d",&Huff[i]); for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(Huff[j]>Huff[j+1]) {int temp=Huff[j];Huff[j]=Huff[j+1];Huff[j+1]=temp;}//冒泡排序?qū)⒃紨?shù)據(jù)排序 while(count>=2){//當原始數(shù)組中不止一個元素時繼續(xù)循環(huán) cost=Huff[0]+Huff[1];//表示每次的花費 for(i=0;i<=count-1;i++) Huff[i-1]=Huff[i];//數(shù)組中每個元素都前移,將第一個覆蓋掉。 Huff[0]=cost;//加入合并后的新元素 sum+=cost;//累計花費 count--;//數(shù)組中現(xiàn)有元素自減一 for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(Huff[j]>Huff[j+1]) {int temp=Huff[j];Huff[j]=Huff[j+1];Huff[j+1]=temp;}//更新數(shù)組順序 }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品久久久久久国产三级 | 欧日韩在线 | 欧美大逼网 | 视频一区二区不卡 | 中国免费黄色 | 久久网一区二区 | 久久日韩在线 | 在线无码 | freexxx69性欧美hd| 99爱国产精品 | 男女亲热网站 | 日日狠狠久久 | 欧美日韩免费看 | 欧美成人精品h版在线观看 久久久久久三区 | 中文字幕国产日韩 | 一分钟免费观看完整版电影 | 成年人激情在线 | chengrenzaixian | 激情久久一区二区 | 成人 日韩 | 日韩a毛片免费观看 | 黄色av网站在线观看 | 欧美成人一区二区三区 | 久久精品.com| 在线免费av观看 | 亚洲欧洲日韩av | 久草在线视频中文 | 免费久久久久 | 老女人碰碰在线碰碰视频 | 成人一级视频 | 特级黄aaaaaaaaa毛片 | 日日摸夜夜添夜夜添牛牛 | 国产精品久久久久久影视 | 国产精品成年片在线观看, 激情小说另类 | 欧美成人se01短视频在线看 | 青久草视频| 免费a视频 | 国产精品免费一区二区 | 91精品国产综合久久久欧美 | 国产一区二区欧美 | 国产视频在线一区 |