<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機論文>動態(tài)哈夫曼編碼的改進

      動態(tài)哈夫曼編碼的改進

      時間:2023-02-20 22:50:56 計算機論文 我要投稿
      • 相關(guān)推薦

      動態(tài)哈夫曼編碼的改進

        《計算機世界月刊》1994年7月號所登載的《動態(tài)哈夫曼編碼的數(shù)據(jù)壓縮方法》一文給出了一種實時性較強的數(shù)據(jù)壓縮方法,該方法的最大特點是不需預先對原始數(shù)據(jù)進行一遍掃描以建立哈夫曼樹,而改為以動態(tài)變化的哈夫曼樹對數(shù)據(jù)編碼。
      該文所附的動態(tài)哈夫曼編碼數(shù)據(jù)壓縮與解壓源程序中的UpDate函數(shù)是動態(tài)修改哈夫曼樹的關(guān)鍵部分,該函數(shù)對動態(tài)哈夫曼樹的一種可能情況無法正確修改,針對這一點,本文附上對該函數(shù)的一個修正定義,以使該壓縮與解壓程序更加完善。
      以下就舉例說明原UpDate函數(shù)無法正確修改的一種哈夫曼樹。例如若要壓縮“TThhis”字符串,則在壓縮完“TTh”之后的動態(tài)哈夫曼樹為圖所示(設(shè)根結(jié)點序號為1000):
      @@04A07700.GIF;圖 壓縮完“TTh”之后的動態(tài)哈夫曼樹@@
      此時若再將字符h進行壓縮編碼,則在輸出h的編碼“01”后需調(diào)整哈夫曼樹,以997號葉結(jié)點為當前結(jié)點,則與當前結(jié)點具有同樣重量的且序號最大的結(jié)點為998號結(jié)點,而該結(jié)點是997號結(jié)點的父結(jié)點,對二者按原文所提供的UpDate函數(shù)進行交換,則將導致998號結(jié)點變成葉結(jié)點,996號結(jié)點變成997號結(jié)點的左孩子,997號結(jié)點則既為自己的父結(jié)點又是自己的右孩子,這樣在對后繼字符i進行壓縮編碼時,首先就無法輸出996號空結(jié)點的編碼了,此時壓縮程序陷入死循環(huán)。
      顯然這時可以簡單地將998和997號結(jié)點的重量加1,然后以998號結(jié)點的父結(jié)點為當前結(jié)點進行調(diào)整,根據(jù)這種思想對原文提供的UpDate函數(shù)進行修正所得新的UpDate函數(shù)附后。
      void UpDate(struct Node *Temp)
      {
      struct Node * Tempa, * Tempc, * 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;
      if(Temp==Tempa->Parent)
      {
      Tempa->Weight++;
      Tempa->After=Tempa->Front=NULL;
      Temp->After=NULL;
      InsertWeight(Tempa);
      }
      else
      {
      Pointer=Temp->LeftChild;
      if(Pointer !=NULL)
      Pointer->Parent=Tempa;
      Temp->LeftChild=Tempa->LeftChild;
      if(Temp->LeftChild !=NULL)
      Temp->LeftChild->Parent=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->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->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;
      }
      }


      【動態(tài)哈夫曼編碼的改進】相關(guān)文章:

      漢字的動態(tài)編碼與顯示方案08-06

      LHARC中的動態(tài)限長編碼壓縮算法08-06

      針對硬件實現(xiàn)的H.264視頻編碼算法改進08-06

      嵌入式零樹小波編碼及其改進算法的研究08-06

      動態(tài)的歷史與動態(tài)的歷史教學08-07

      Video Object編碼技術(shù)08-06

      視音頻素材的編碼轉(zhuǎn)換08-06

      《數(shù)字編碼》教學反思04-28

      曼巴精神作文12-20

      主站蜘蛛池模板: 欧美视频二区欧美影视| 亚洲一区二区三成人精品| 国产精品国产三级国快看| 亚洲一二三四区中文字幕| 少妇xxxxx性开放| 亚洲一区二区三区在线观看精品中文 | 色综合一本到久久亚洲91| 丁香五月婷激情综合第九色| 无码国产偷倩在线播放| 99国产午夜福利在线观看| 国产一区二区三区高清视频 | 午夜av福利一区二区三区| 不卡在线一区二区三区视频| 嫩草研究院久久久精品| 欧美熟妇乱子伦XX视频| 国产精品三级黄色小视频| 一区二区免费高清观看国产丝瓜| 国产精品久久国产精麻豆99网站| 欧美日韩中文字幕久久伊人| 噜噜综合亚洲av中文无码| 免费a级黄毛片| 国产极品视频一区二区三区| AV最新高清无码专区| 成人av午夜在线观看| 性XXXX视频播放免费直播| 国产精品99中文字幕| 毛片免费观看天天干天天爽| 91中文字幕在线一区| 亚洲日韩精品无码一区二区三区 | 亚洲国产精品一二三区| 国产一区| 福利一区二区视频在线| 国产成人不卡一区二区| 亚洲第四色在线中文字幕| 国内精品伊人久久久久影院对白| 午夜毛片不卡免费观看视频| 亚洲精品一二三区在线看| 精品综合久久久久久97| 无码精品国产VA在线观看DVD| 亚洲不卡一区三区三区四| 人妻少妇精品无码专区二区|