資料結構中高度受限的霍夫曼樹
高度受限或深度受限霍夫曼樹的示意圖如下所示

樹深度限制是一個非平凡的問題,大多數現實世界的霍夫曼實現都必須處理這個問題。
霍夫曼構造不會限制高度或深度。如果限制了,它就不可能“最優”。誠然,霍夫曼樹的最大深度受斐波那契數列限制,但這仍然留有比所需更大的深度的空間。
限制霍夫曼樹深度的理由是什麼?快速的霍夫曼解碼器實現查詢表。可以實現多個表級別以減輕記憶體成本,但是像 Huff0 這樣非常快速的解碼器為了簡單和速度而使用單個表。在這種情況下,表大小被視為樹深度的直接乘積 (表大小 = 1 << 樹深度)。
為了提高速度和記憶體管理,必須選擇一個限制:解碼錶為 8 KB,這很好地適合英特爾的 L1 快取,並且如有需要,還留有一些空間可以與其他表組合。
對於壓縮字面量來說,12 位通常太短了,至少根據最優霍夫曼構造是這樣。
因此,構造深度受限的樹是一個需要解決的實際問題。
自 20 世紀 60 年代以來,人們就開始研究深度受限的霍夫曼樹,因此有很多文獻可用。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP