huffman-code

    0熱度

    1回答

    我必須創建一個哈夫曼樹,其alphabtes(符號,我的意思是「aaabbacaccba」等)必須以唯一參數的Input.txt文件的形式給出。 然後我必須創建對應於每個字母的頻率。 我在創建頻率方面存在問題。 我想要這樣的事情:假設如果我必須在input.txt中讀取它:"aabcccadde"。然後我的代碼必須打印這樣的: sym:a, freq:3 sym:b, freq:1 sym:c

    2熱度

    1回答

    我想了解壓縮PNG - 但我似乎 找了很多矛盾的信息在網上... 我想了解 - 如何尋找在做LZ77-部分:包含鏈表的哈希表?這是在deflate中定義的嗎?或在zlib中實現?有沒有可供選擇的搜索方法? - PNG編碼器/解碼器可以爲壓縮設置一些參數(策略,過濾器等)還是PNG的默認設置? - LZ77部分是否會進行貪婪或懶惰的評估?或者這也是一個選項? - 最後是:2個霍夫曼樹,它們是在第三棵

    0熱度

    1回答

    我試圖建立一個霍夫曼編碼樹。 主: int main() { // Read frequency table and build Huffman tree. NodePtr huffman = build_tree(); print_tree(huffman); // Free the allocated memory. free_memory

    2熱度

    7回答

    我是不是詢問霍夫曼編碼是如何工作的,但是我想知道它爲什麼好。 我有以下兩個問題: Q1 我明白了霍夫曼的最終目的是編碼給予一定的焦炭較少位數,所以節省了空間。我不明白的是,爲什麼char的位數決定可能與char的頻率有關? Huffman Encoding Trees說 有時有利的是使用可變長度編碼,其中 不同符號可以由不同數目的位來表示。例如,對於 示例,對於字母表中的每個字母,摩爾斯電碼不使用

    1熱度

    3回答

    我正在實現一個函數,它需要一個樹和一個編碼的字符串。 例子: decode(*Huffmantree, "10010101010") 我想這個函數返回解碼字符串輸入相對於哈夫曼樹輸入編碼字符串。 的代碼,我到目前爲止有: string decode(NodePtr root, string encoded_str) { string temp = ""; for (int

    0熱度

    1回答

    我正在嘗試編寫一個函數,它需要一個霍夫曼樹和一個字符。然後它應該對角色進行編碼並將其返回。 至今代碼: string encode(NodePtr root, char letter) { string encode_str; //a string which will store the encoded string NodePtr tempNode = root; //I

    14熱度

    2回答

    我有一個編碼霍夫曼算法的任務。我把整個問題組織在我的腦海裏,但是我在文件處理方面遇到了一些麻煩。 問題是:該算法應該壓縮ANY種文件。 我的解決方案:將文件讀取爲一個字節數組,然後用一個int array[256]={0}爲每個字節,得到它的相應值int n並遞增array[n]。如果我沒有說清楚,請告訴我。 因此,我做了大量的研究,但不明白如何從任何類型的文件獲取字節以及如何處理它們。

    0熱度

    1回答

    我有一個方法來計算字符串的頻率,並記錄數組中記錄2個參數(freq和char)的字符的頻率。這是代碼: 該錯誤是在該特定行: this.frequencies並[c - 'A'] =新CharFrequency280(」」,0); private void countFrequencies() { //TODO // Initialize the frequency of e

    0熱度

    3回答

    這是我的班級節點,Traverse是一種訪問Huffman二叉樹並保存.txt文件字符代碼的方法。 Codes是我保存代碼的字符串向量。 Temp是我將字符的代碼保存到代碼中的臨時字符串。 我不明白爲什麼Traverse的第一個版本很好,而第二個在一些遞歸之後崩潰。 typedef class Node *NODE; class Node { private: int K

    1熱度

    1回答

    我在使用Hffman algorthim壓縮excel文件時遇到了一些問題。問題是我的代碼似乎與.txt文件一起工作,但是當我嘗試壓縮.xlsx或更早版本的Excel時,會發生錯誤。 首先,我讀我的文件是這樣的: File file = new File("fileName.xlsx"); byte[] dataOfFile = new byte[(int) file.length()