最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

11.3赫夫曼編碼

2022-01-04 22:12 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)

本次沒有作業(yè),輕松一課,內(nèi)容也不難

11.3赫夫曼編碼

11.3.1基本介紹

1.????? 赫夫曼編碼也翻譯為哈夫曼編碼(Huffman Coding),又稱霍夫曼編碼,是一種編碼方式。屬于一種程序算法

2.????? 赫夫曼編碼是赫夫曼樹在電訊通信中的經(jīng)典的應(yīng)用之一。

3.????? 赫夫曼編碼廣泛地用于數(shù)據(jù)文件壓縮。其壓縮率通常在20%~90%之間

4.????? 赫夫曼碼是可變字長(zhǎng)編碼(VLC)的一種。Huffman于1952年提出一種編碼方法,稱之為最佳編碼

11.3.2原理剖析

通信領(lǐng)域中信息的處理方式1-定長(zhǎng)編碼

這個(gè)網(wǎng)站404了...

通信領(lǐng)域中信息的處理方式2-變長(zhǎng)編碼

通信領(lǐng)域中信息的處理方式3-赫夫曼編碼

步驟如下

?

傳輸?shù)淖址?/p>

1) i like like like java do you like a java

2) d:1y:1 u:1 j:2 v:2 o:2l:4 k:4 e:4 i:5 a:5 ?:9//各個(gè)字符對(duì)應(yīng)的個(gè)數(shù),9個(gè)空格

3)按照上面字符出現(xiàn)的次數(shù)構(gòu)建一顆赫夫曼樹,次數(shù)作為權(quán)值

步驟:

構(gòu)成赫夫曼樹的步驟:

1)從小到大進(jìn)行排序,將每一個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)都是一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以看成是一顆最簡(jiǎn)單的二叉樹2)取出根節(jié)點(diǎn)權(quán)值最小的兩顆二叉樹

3)組成一穎新的二叉樹,該新的二叉樹的根節(jié)點(diǎn)的權(quán)值是前面兩顆二叉樹根節(jié)點(diǎn)權(quán)值的和

4)再將這顆新的二叉樹,以根節(jié)點(diǎn)的權(quán)值大小再次排序,不斷重復(fù)1-2-3-4的步驟,直到數(shù)列中,所有的數(shù)據(jù)都被處理,就得到一顆赫夫曼樹

4)根據(jù)赫夫曼樹,給各個(gè)字符,規(guī)定編碼(前綴編碼),向左的路徑為0向右的路徑為1,編碼如下:o: 1000 u: 10010 d: 100110 y: 100111 i: 101

a : 110k:1110 e: 1111j: 0000v : 0001l:001:01

5)按照上面的赫夫曼編碼,我們的"ilike like like java do you like a java”字符串對(duì)應(yīng)的編碼為(注意這里我們使用的無損壓縮)

1010100110111101111010011011110111101001101111011110100001100001110011001111000011001111000100100100110111101111011100100001100001110通過赫夫曼編碼處理長(zhǎng)度為133

6)長(zhǎng)度為:133

說明:

原來長(zhǎng)度是359,壓縮了(359-133)/359=62.9%

此編碼滿足前綴編碼,即字符的編碼都不能是其他字符編碼的前綴。不會(huì)造成匹配的多義性赫夫曼編碼是無損處理方案

?

注意事項(xiàng)

注意,這個(gè)赫夫曼樹根據(jù)排序方法不同,也可能不太一樣,這樣對(duì)應(yīng)的赫夫曼編碼也不完全一樣,但是wpl是一樣的,都是最小的,最后生成的赫夫曼編碼的長(zhǎng)度是一樣的,比如:如果我們讓每次生成的新的二叉樹總是排在權(quán)值相同的二叉樹的最后一個(gè),則生成的二叉樹為:


11.3赫夫曼編碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
蒙山县| 丰都县| 利津县| 普定县| 华安县| 丹江口市| 望江县| 含山县| 龙山县| 诸暨市| 铅山县| 成武县| 通州区| 宜丰县| 东莞市| 太和县| 闽清县| 巩义市| 前郭尔| 长白| 威宁| 五峰| 旅游| 余庆县| 镇原县| 平昌县| 偃师市| 尉犁县| 长寿区| 修水县| 运城市| 山阳县| 桑植县| 曲水县| 周口市| 乐至县| 峨眉山市| 枣庄市| 盖州市| 德格县| 五大连池市|