1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

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

        • 相關(guān)推薦

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

        動態(tài)哈夫曼編碼的改進 《計算機世界月刊》1994年7月號所登載的《動態(tài)哈夫曼編碼的數(shù)據(jù)壓縮方法》一文給出了一種實時性較強的數(shù)據(jù)壓縮方法,該方法的最大特點是不需預(yù)先對原始數(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é)點為當(dāng)前結(jié)點,則與當(dāng)前結(jié)點具有同樣重量的且序號最大的結(jié)點為998號結(jié)點,而該結(jié)點是997號結(jié)點的父結(jié)點,對二者按原文所提供的UpDate函數(shù)進行交換,則將導(dǎo)致998號結(jié)點變成葉結(jié)點,996號結(jié)點變成997號結(jié)點的左孩子,997號結(jié)點則既為自己的父結(jié)點又是自己的右孩子,這樣在對后繼字符i進行壓縮編碼時,首先就無法輸出996號空結(jié)點的編碼了,此時壓縮程序陷入死循環(huán)。
        顯然這時可以簡單地將998和997號結(jié)點的重量加1,然后以998號結(jié)點的父結(jié)點為當(dāng)前結(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-

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

        Video Object編碼技術(shù)05-29

        小議3D 視頻編碼傳輸技術(shù)05-07

        改進我國企業(yè)知識治理08-28

        對樂蜂網(wǎng)營銷策略的改進建議06-11

        改進承載網(wǎng)交換技術(shù)的新思路05-31

        談如何構(gòu)建動態(tài)生成的英語課堂08-20

        供電所激勵管理改進途徑探索06-03

        高新技術(shù)產(chǎn)品動態(tài)競爭上風(fēng)分析06-02

        會計審計研究若干國際動態(tài)06-03

        淺談新課改下教學(xué)存在的問題及改進措施范文04-25

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>