HackerRank | 2021全台活動資訊網
2020年2月3日—簡單來說就是題目會給定一個字串s,與一個HuffmanTree,我們需要依照給予...這邊先解釋,codeword這邊是指編碼過後呈現的字元。
解個題順便複習 Huffman Tree。
題目說明:題目描述較長,可以直接到Hacker Rank[1]上看題目說明。
簡單來說就是題目會給定一個字串 s,與一個 Huffman Tree,我們需要依照給予的 Huffman tree內容將字串 s 還原為原本內容。
題目不困難,只是如果在解題前可以充分瞭解Huffman code與 Huffman tree的概念,解起來會輕鬆許多。
什麼是 Huffman Code?這邊做一個簡單的介紹,Huffman code是無失真的資料壓縮演算法,透過『字元出現的頻率』來決定每個字元轉為二元字串時表達方式,意思即依據每個字元出現的頻率,出現次數愈多的字編碼後長度較短,出現頻率愈低的字編碼後長度愈長。
這邊先解釋,codeword 這邊是指編碼過後呈現的字元。
舉例來說,以下列的表來看:
可以看見每個字元出現的頻率,a 出現 45k 次;b出現 13k次,依此類推。
如果現在不以壓縮方式傳輸,每個字都固定以 3 bits (Fixed-length codeword) 來表示,則總共需要
45k * 3 + 13k *3 + 12k *3 + 16k *3 + 9K *3 + 5k *3 = 300k bits如果改以前面提到的方式壓縮來處理(Variable-length codeword),則總共需要
45k *1 + 13k * 3 + 12k *3 +16k *3 +9k*4 + 5k *4 = 224k bits比較兩者,同樣的內容,使用 Variable-length codeword 會比 Fixed-length codeword 節省幾乎 25 %的空間,而 Huffman code就是這樣的概念,出現次數愈多,則編碼後二進制字元欲短,反之欲長,
Prefix codes原文定義是:
No codeword is also a prefix of some other codeword, such code are called orefi...
霍夫曼編碼(Huffman Code )詳解 | 2021全台活動資訊網
Huffman Coding 霍夫曼編碼. Huffman Coding編碼 ... | 2021全台活動資訊網
哈夫曼編碼相關的一道筆試題解析 | 2021全台活動資訊網
【資料結構】霍夫曼樹:資料壓縮(Huffman Tree) | 2021全台活動資訊網
d371. 3. Huffman 編碼中的編碼效能問題 | 2021全台活動資訊網
重新載圖6.若以霍夫曼編碼處理下列表格資料,試問下列那一個 ... | 2021全台活動資訊網
霍夫曼编码 | 2021全台活動資訊網
HackerRank | 2021全台活動資訊網
【我把動物FUN大了! 霍夫曼的療癒動物園特展(高雄站)】活動辦法與詳細資訊
無活動名稱:我把動物FUN大了!霍夫曼的療癒動物園特展(高雄站)舉辦城市:高雄市鼓山區主辦單位:時藝多媒體傳播股份有限公司、...