一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

算法科普:有趣的霍夫曼編碼

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:楊湘祁 ? 作者:電子發(fā)燒友 ? 2019-03-14 19:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

霍夫曼編碼 ( Huffman coding ) 是一種可變長的前綴碼?;舴蚵幋a使用的算法是 David A. Huffman 還是在MIT 的學生時提出的,并且在 1952 年發(fā)表了名為《 A Method for the Construction of Minimum-Redundancy Codes 》的文章。

編碼這種編碼的過程叫做霍夫曼編碼,它是一種普遍的熵編碼技術(shù),包括用于無損數(shù)據(jù)壓縮領(lǐng)域。

霍夫曼編碼過程

霍夫曼編碼使用一種特別的方法為信號源中的每個符號設(shè)定二進制碼。出現(xiàn)頻率更大的符號將獲得更短的比特,出現(xiàn)頻率更小的符號將被分配更長的比特,以此來提高數(shù)據(jù)壓縮率,提高傳輸效率。

以字符串 ” ABAABACD “ 為例進行說明。

接下來,按照字符出現(xiàn)的比例從高往低對字符進行排序。

圖 1

然后,按出現(xiàn)比例低的順序查找兩個字母。在這種情況下,它是 “ C ” 12.5% 和 “ D ” 12.5% 。

通過一條線連接兩個字母拼構(gòu)成一個樹狀結(jié)果。將兩個字母合并為 “ C 或 D”,并將出現(xiàn)比率相加起來。

動畫 2

按照同樣的操作,將合并后的 “ C 或 D ” 視為一個字符,重復相同的操作。

在 “ A " "B" " C 或 D " 三個中,按照出現(xiàn)比例低的順序查找兩個字母。

圖 3

圖 4

這樣,所有的字母都變成了 " A 或 B 或 C 或 D" ,出現(xiàn)的比率為 100% 。

圖 4 就是霍夫曼編碼的樹結(jié)構(gòu)。

接下來再次顯示各個字母出現(xiàn)的比率,同時使用 0 和 1 進行編碼,代碼 0 和 1 分別分配給上下延伸的分支。

圖 5

分配完畢后,從樹的根部遍歷每個字符并確定相應的代碼。

在 " A " 的情況下,被分配的代碼為" 0 "

在 " B " 的情況下,被分配的代碼為 " 10 "

在 " C " 的情況下,被分配的代碼為 " 110 "

在 " D " 的情況下,被分配的代碼為 " 111 "

動畫 6

就這樣,通過這樣的編碼規(guī)則, " ABAABACD " 的二進制編碼就變成了 " 01000100110111 ",只需要 14 個比特就能表示,比單純的使用 2 比特表示一個字符縮短了很多。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4709

    瀏覽量

    95318
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    968

    瀏覽量

    55747

原文標題:算法科普:有趣的霍夫曼編碼

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    磁性編碼器非線性誤差補償及在重型機床高精度伺服控制中應用

    重型機床加工精度面臨磁性編碼器非線性誤差挑戰(zhàn),誤差來源包括磁柵刻劃誤差、磁頭偏心及溫度漂移。創(chuàng)新補償技術(shù)如雙讀頭差分、智能算法及雙反饋系統(tǒng),將定位誤差控制在微米級,推動國產(chǎn)編碼器技術(shù)從跟跑到并跑。
    的頭像 發(fā)表于 05-16 17:29 ?239次閱讀

    醫(yī)療科普新助力!華為云 Flexus 數(shù)字人引領(lǐng)行業(yè)變革

    在醫(yī)療科普領(lǐng)域,醫(yī)生肩負重任,但其本職工作繁重,精力有限,且傳統(tǒng)視頻制作繁瑣難以跟上融媒體步伐,如何以更高效、創(chuàng)新的方式傳播專業(yè)知識,進一步提升內(nèi)容創(chuàng)作效率、降低成本,并確保內(nèi)容質(zhì)量?全新推出的華為
    的頭像 發(fā)表于 03-10 11:09 ?1261次閱讀
    醫(yī)療<b class='flag-5'>科普</b>新助力!華為云 Flexus 數(shù)字人引領(lǐng)行業(yè)變革

    信道編碼和信源編碼的區(qū)別

    信道編碼和信源編碼是數(shù)字通信系統(tǒng)中兩個至關(guān)重要的環(huán)節(jié),它們各自承擔著不同的功能和角色。
    的頭像 發(fā)表于 01-29 16:29 ?1682次閱讀

    第二屆電力電子科普作品創(chuàng)作大賽斬獲殊榮——榮獲2024年全國科普日優(yōu)秀活動表彰

    2024年12月27日,中國科協(xié)辦公廳正式發(fā)布了《關(guān)于表彰2024年全國科普日優(yōu)秀組織單位與活動的通知》,由中國電源學會科普工作委員會攜手英飛凌科技(中國)有限公司精心策劃的第二屆電力電子科普作品
    的頭像 發(fā)表于 01-11 09:05 ?416次閱讀
    第二屆電力電子<b class='flag-5'>科普</b>作品創(chuàng)作大賽斬獲殊榮——榮獲2024年全國<b class='flag-5'>科普</b>日優(yōu)秀活動表彰

    bcd編碼的優(yōu)缺點 bcd編碼的常見錯誤

    BCD(Binary-Coded Decimal)編碼是一種二進制編碼方式,用于將十進制數(shù)(0-9)直接轉(zhuǎn)換為二進制形式。這種編碼方式在數(shù)字系統(tǒng)中非常常見,尤其是在需要處理數(shù)字數(shù)據(jù)的硬件和軟件中
    的頭像 發(fā)表于 12-20 17:17 ?1609次閱讀

    編碼器種類大觀:探索技術(shù)前沿與應用創(chuàng)新

    器,再到集成了智能算法的智能編碼器,每一種編碼器都在其特定領(lǐng)域內(nèi)發(fā)揮著不可替代的作用。本文將帶您深入探索編碼器的多樣世界,揭示其技術(shù)奧秘與應用創(chuàng)新。 旋轉(zhuǎn)
    的頭像 發(fā)表于 11-21 08:49 ?1282次閱讀

    編碼器類型詳解:探索不同編碼技術(shù)的奧秘

    編碼器類型詳解:探索不同編碼技術(shù)的奧秘 在自動化、機器控制和數(shù)據(jù)處理等領(lǐng)域,編碼器作為關(guān)鍵的傳感器組件,扮演著至關(guān)重要的角色。它們通過將物理位置、速度或方向轉(zhuǎn)換為電信號,為各種設(shè)備提供精確的控制
    的頭像 發(fā)表于 11-19 08:58 ?1848次閱讀
    <b class='flag-5'>編碼</b>器類型詳解:探索不同<b class='flag-5'>編碼</b>技術(shù)的奧秘

    增量編碼器與絕對值編碼器的區(qū)別

    增量編碼器與絕對值編碼器的區(qū)別:增量編碼器與絕對值編碼器在精度特點對比 增量編碼器的精度取決于脈沖的數(shù)量和測量的細分程度,通常情況下,其精度
    的頭像 發(fā)表于 11-18 16:38 ?2474次閱讀
    增量<b class='flag-5'>編碼</b>器與絕對值<b class='flag-5'>編碼</b>器的區(qū)別

    技術(shù)科普 | 芯片設(shè)計中的LEF文件淺析

    技術(shù)科普 | 芯片設(shè)計中的LEF文件淺析
    的頭像 發(fā)表于 11-13 01:03 ?749次閱讀
    技術(shù)<b class='flag-5'>科普</b> | 芯片設(shè)計中的LEF文件淺析

    如何優(yōu)化base64編碼的性能

    產(chǎn)生影響,特別是在處理大量數(shù)據(jù)時。以下是一些優(yōu)化Base64編碼性能的方法: 1. 選擇合適的庫和算法 使用高效的庫 :不同的編程語言和庫在Base64編碼和解碼方面有不同的性能表現(xiàn)。選擇一個經(jīng)過優(yōu)化的庫可以顯著提高性能。
    的頭像 發(fā)表于 11-10 14:17 ?2132次閱讀

    Huffman壓縮算法概述和詳細流程

    Huffman壓縮算法是一種基于字符出現(xiàn)頻率的編碼算法,通過構(gòu)建Huffman樹,將出現(xiàn)頻率高的字符用短編碼表示,出現(xiàn)頻率低的字符用長編碼
    的頭像 發(fā)表于 10-21 13:48 ?895次閱讀

    磁電編碼器和光電編碼器的區(qū)別

    磁電編碼器和光電編碼器是兩種不同類型的編碼器,它們在原理、結(jié)構(gòu)、性能和應用領(lǐng)域上都有所不同。 磁電編碼器和光電編碼器的區(qū)別 1. 引言
    的頭像 發(fā)表于 10-12 09:54 ?3073次閱讀

    科普時報》:探索量子奧秘,跟著院士去“追光”

    科普時報》:探索量子奧秘,跟著院士去“追光”
    的頭像 發(fā)表于 10-12 08:06 ?534次閱讀
    《<b class='flag-5'>科普</b>時報》:探索量子奧秘,跟著院士去“追光”

    科技少年夢 科普粵海行|芯??萍?b class='flag-5'>科普基地啟迪智慧未來

    9月28日,由深圳市南山區(qū)粵海街道辦事處主辦,深圳市高科技協(xié)同創(chuàng)新促進會、深愛人才館策劃執(zhí)行的“科技少年夢科普粵海行”系列活動之“芯片探秘鏈啟未來”芯??萍籍a(chǎn)品體驗日成功舉行,吸引了眾多青少年及家長
    的頭像 發(fā)表于 10-01 08:07 ?493次閱讀
    科技少年夢 <b class='flag-5'>科普</b>粵海行|芯??萍?b class='flag-5'>科普</b>基地啟迪智慧未來

    短文6:關(guān)于功率因素的有趣問答

    2個關(guān)于功率因素的有趣問答。
    的頭像 發(fā)表于 09-23 12:22 ?414次閱讀