![動(dòng)態(tài)哈夫曼編碼的改進(jìn)--_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/8bb7a68d-3db7-46c2-b706-4c621b473ff2/8bb7a68d-3db7-46c2-b706-4c621b473ff21.gif)
![動(dòng)態(tài)哈夫曼編碼的改進(jìn)--_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/8bb7a68d-3db7-46c2-b706-4c621b473ff2/8bb7a68d-3db7-46c2-b706-4c621b473ff22.gif)
![動(dòng)態(tài)哈夫曼編碼的改進(jìn)--_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/13/8bb7a68d-3db7-46c2-b706-4c621b473ff2/8bb7a68d-3db7-46c2-b706-4c621b473ff23.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、動(dòng)態(tài)哈夫曼編碼的改進(jìn) - 計(jì)算機(jī)世界月刊1994年7月號所登載的動(dòng)態(tài)哈夫曼編碼的數(shù)據(jù)壓縮方法一文給出了一種實(shí)時(shí)性較強(qiáng)的數(shù)據(jù)壓縮方法,該方法的最大特點(diǎn)是不需預(yù)先對原始數(shù)據(jù)進(jìn)行一遍掃描以建立哈夫曼樹,而改為以動(dòng)態(tài)變化的哈夫曼樹對數(shù)據(jù)編碼。該文所附的動(dòng)態(tài)哈夫曼編碼數(shù)據(jù)壓縮與解壓源程序中的UpDate函數(shù)是動(dòng)態(tài)修改哈夫
2、曼樹的關(guān)鍵部分,該函數(shù)對動(dòng)態(tài)哈夫曼樹的一種可能情況無法正確修改,針對這一點(diǎn),本文附上對該函數(shù)的一個(gè)修正定義,以使該壓縮與解壓程序更加完善。以下就舉例說明原UpDate函數(shù)無法正確修改的一種哈夫曼樹。例如若要壓縮“TThhis”字符串,則在壓縮完“TTh”之后的動(dòng)態(tài)哈夫曼樹為圖所示(設(shè)根結(jié)點(diǎn)序號為1000):04A07700.GIF;圖 壓縮完“TTh”之后的動(dòng)態(tài)哈夫曼樹此時(shí)若再將字符h進(jìn)行壓縮編碼,則在輸出h的編碼“01”后需調(diào)整哈夫曼樹,以997號葉結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),則與當(dāng)前結(jié)點(diǎn)具有同樣重量的且序號最大的結(jié)點(diǎn)為998號結(jié)點(diǎn),而該結(jié)點(diǎn)是997號結(jié)點(diǎn)的父結(jié)點(diǎn),對二者按原文所提供的UpDa
3、te函數(shù)進(jìn)行交換,則將導(dǎo)致998號結(jié)點(diǎn)變成葉結(jié)點(diǎn),996號結(jié)點(diǎn)變成997號結(jié)點(diǎn)的左孩子,997號結(jié)點(diǎn)則既為自己的父結(jié)點(diǎn)又是自己的右孩子,這樣在對后繼字符i進(jìn)行壓縮編碼時(shí),首先就無法輸出996號空結(jié)點(diǎn)的編碼了,此時(shí)壓縮程序陷入死循環(huán)。顯然這時(shí)可以簡單地將998和997號結(jié)點(diǎn)的重量加1,然后以998號結(jié)點(diǎn)的父結(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn)進(jìn)行調(diào)整,根據(jù)這種思想對原文提供的UpDate函數(shù)進(jìn)行修正所得新的UpDate函數(shù)附后。void UpDate(struct Node *Temp)struct Node * Tempa, * Tem
4、pc, * Pointer;struct LeafNode *p,*q,*b;unsigned char Letter;while(Temp!=Root)if(Temp->Weight)P=Weight;while(p->Next->CharNode->Weight !=Temp->Weight)p=p->Next;if(Temp->Front!=NULL)Tempa=Temp;while(Temp->Front !=NULL)Temp=Temp->Front;
5、if(Temp=Tempa->Parent)Tempa->Weight+;Tempa->After=Tempa->Front=NULL;Temp->After=NULL;InsertWeight(Tempa);elsePointer=Temp->LeftChild;if(Pointer !=NULL)Pointer->Parent=Tempa;Temp->LeftChild=Tempa->LeftChild;if(Temp->LeftChild !=NULL)Temp->LeftChild->Paren
6、t=Temp;Tempa->LeftChild=Pointer;Pointer=Temp->RightChild;if(Pointer !=NULL)Pointer->Parent=Tempa;Temp->RightChild=Tempa->RightChild;if(Temp->RightChild !=NULL)Temp->RightChild->Parent=Temp;Tempa->RightChild=Pointer;Letter=Temp->Letter;Temp->Letter=Tempa->
7、;Letter;Tempa->Letter=Letter;if(Tempa->LeftChild=NULL)&&(Tempa->RightChild=NULL)b=leaf;while(b!=NULL)if(b->CharNode=Temp)b->CharNode=Tempa;break;else b=b->Next;if(Temp->LeftChild=NULL)&&(Temp->RightChild+NULL)b=Leaf;while(b!=NULL)if(b->CharNode=Tempa)b
8、->CharNode=Temp;break;else b=b->Next;p->Next->CharNode=Temp->After;if(Temp->After=NULL)q=p->Next;p->Next=q->Next;free(q);else Temp->After->Front=NULL;Temp->Weight+;Temp->After=Temp->Front=NULL;InsertWeight(Temp);Temp=Temp->Parent; 作者:劉飛 孫揚(yáng)聲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年倉庫管理合同正式樣本
- 2025年海綿城市項(xiàng)目提案報(bào)告
- 2025年工程建材跨區(qū)域物流合同
- 2025年冷凍食品物流協(xié)調(diào)協(xié)議書
- 2025年合伙事業(yè)策劃協(xié)議書樣本
- 標(biāo)準(zhǔn)文本2025年獨(dú)家房產(chǎn)中介代理合同
- 2025年個(gè)人消費(fèi)質(zhì)押擔(dān)保短期借款合同
- 2025年物業(yè)經(jīng)理合同聘用標(biāo)準(zhǔn)
- 2025年標(biāo)準(zhǔn)軟件策劃保密協(xié)議指南
- 2025年保密合同書范本重訂協(xié)議
- 物業(yè)員工行為規(guī)范管理手冊
- 基于STM32單片機(jī)的智能停車場車位管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 小型家用電器制造工(省賽)理論考試題及答案
- 康復(fù)科-關(guān)節(jié)活動(dòng)度測量量表
- 2025初級會計(jì)理論考試100題及解析
- 墻面油漆翻新合同范例
- 門診口腔院感基礎(chǔ)知識培訓(xùn)
- 公司關(guān)愛基金方案
- DB11T 1812-2020 既有玻璃幕墻安全性檢測與鑒定技術(shù)規(guī)程
- 安全開發(fā)流程培訓(xùn)文件課件
- 三年內(nèi)無重大違法記錄聲明
評論
0/150
提交評論