huffman-code

    -2熱度

    1回答

    我想要使用遞歸方法來遍歷哈夫曼樹,並且爲每個葉節點添加一個代碼記錄到一個ArrayList。這是我迄今爲止所擁有的。 private void traverse(ArrayList<Code> code, BinaryTreeNode<Letter> node, String prefix) { // TODO: Fill in this method if

    0熱度

    1回答

    我被要求在Python中創建函數,而不使用循環和樹來表示霍夫曼編碼。我創建的函數從該輸入: [('a',4),('b',10),('c',15),('d',18),('e',42),('f',11)] 給出了這樣的輸出: ('e', (('f', ('a', 'b')), ('c', 'd'))) 現在,我應該創建功能,該輸出編碼成 [('e','0') , ('f','100') , (

    1熱度

    1回答

    我有興趣瞭解放縮壓縮算法,尤其是它是如何在數據流中表示的,並且感覺我會從一些額外的例子中受益匪淺(例如,壓縮一小段文本或壓縮塊的解壓縮)。 我正在繼續研究我發現的一些資源:ref1,ref2,ref3但是這些沒有很多關於實際壓縮如何看作數據流的例子。 如果我能得到一些例子,說明一些字符串在壓縮之前和之後的樣子,以及它們之間關係的解釋,那將是非常棒的。 此外,如果有其他資源,我可以看看請添加這些。

    1熱度

    1回答

    因此,對於他們給了我一個任務,我有三個函數來完成,它們是從給定樹的每個葉節點提取HCodeMap,將字符串編碼成位的名單,並將該字符串解碼回字符串。 我已經成功地完成代碼提取和編碼功能,但我努力使與上次解碼功能的進步,因爲我們不允許遍歷樹,因爲我們沒有給出一個使用。 這是我們與所提供的功能的格式,其次是一些類型: decode :: [Bit] -> HCodeMap -> Maybe Strin

    -2熱度

    2回答

    我正在使用C++編寫霍夫曼壓縮程序,但是我遇到了壓縮文件結構的問題。它需要在我的新文件中存儲一些結構,以幫助我解碼這個文件。我決定在這個文件的開頭寫一個代碼表,然後從這個表中構建一個樹來解碼下一個內容,但是我不知道以哪種方式存儲表(我的意思是我不知道表格結構,我知道如何用二進制模式寫東西)以及如何從這個表格構建樹。對不起我的英語不好。先謝謝你。

    0熱度

    1回答

    我想要反向工程文本壓縮算法,我已經在一個地方停留了大約一個月了。 一般來說,here's解碼器的代碼在C.它完美的工作,但我仍然不明白壓縮方案如何工作。 問題部分是GetNextChararacter函數。 我不明白這個迭代比特流格式。它看起來像一個奇怪的方式序列化的二元霍夫曼樹。 所以迭代比特流就像遞歸樹,算法搜索當前節點遍歷所有葉子並輸出葉子數量。之後,源碼流會在iterationBitStr

    1熱度

    1回答

    我不知道我將如何攻擊我的霍夫曼樹的遍歷。樹是正確的,我很難弄清楚如何以一種好的方式來遍歷它。出於某種原因,我的穿越方法沒有給出結果... UPDATE: - 清理代碼,使其更加面向對象 Node類: public class Node { public int frekvens; //Frequency public char tegn; //Symbol publ

    -1熱度

    1回答

    我是JPEG /圖像壓縮的新手。基本上我想查看/提取內嵌在JPEG文件中的Huffman Table的內容(字節)。

    0熱度

    2回答

    我有一棵樹,樹葉標記爲L,非葉節點標記爲I.我給出樹的前序遍歷。一個例子是IIILLILILLIIILLLIILILLL。我必須爲這個包含的字符串構建huffman樹。我最初傳入一個新的Root(),0和我的treeString作爲我的參數。 TreeString將是上面粘貼了I和L的字符串。出於某種原因,我的代碼導致拋出一個StackOverflow異常。我的代碼是針對makeTree方法如下:

    0熱度

    1回答

    我在Python中編碼Huffman樹。我有一個常規函數,它接受要編碼的字符串和霍夫曼樹。它創建一個字符串字符數組和一個空的數組,其條目將是每個char對應的二進制路徑。該函數遍歷字符串數組中的每個字符,調用函數2,遞歸搜索樹,建立二進制代碼並在找到字母后返回。通過樹正確的遞歸函數移動,查找和打印的正確路徑 - 一切工作正常。唯一的問題是,當我將該返回值賦給函數1中的變量並將其附加到二進制數組時,