99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

霍夫曼編碼過程

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

以字符串 ” ABAABACD “ 為例進(jìn)行說明。

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

圖 1

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

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

動(dòng)畫 2

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

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

圖 3

圖 4

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

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

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

圖 5

分配完畢后,從樹的根部遍歷每個(gè)字符并確定相應(yīng)的代碼。

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

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

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

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

動(dòng)畫 6

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

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

    關(guān)注

    23

    文章

    4709

    瀏覽量

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

    關(guān)注

    6

    文章

    969

    瀏覽量

    55759

原文標(biāo)題:算法科普:有趣的霍夫曼編碼

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    磁性編碼器非線性誤差補(bǔ)償及在重型機(jī)床高精度伺服控制中應(yīng)用

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

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

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

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

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

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

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

    bcd編碼的優(yōu)缺點(diǎn) bcd編碼的常見錯(cuò)誤

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

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

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

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

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

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

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

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

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

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

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

    Huffman壓縮算法概述和詳細(xì)流程

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

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

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

    科普時(shí)報(bào)》:探索量子奧秘,跟著院士去“追光”

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

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

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

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

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