huffman-code

    2熱度

    1回答

    如何確定使用huffman的字符串中的固定長度代碼每個字符需要多少個位?我有一個想法,你可以計算字符串中不同字符的數量,而不是用二進制數字表示這個數字,因此這將是固定長度,但它不起作用。例如,在字符串「letty lotto喜歡很多棒棒糖」......有10個不同的字符不包括引號(因爲10 = 0101(4位),我認爲這意味着所有字符都可以用4位表示),現在f的頻率爲1,編碼爲11111(5位)而

    1熱度

    2回答

    我正在用Python編寫一個webcrawler,它將大量頁面的HTML代碼存儲在MySQL數據庫中。在開始處理數據之前,我想確保我的存儲和處理方法是最佳的。我想: 最小化在數據庫中使用的存儲空間 - 可能通過縮小HTML代碼,霍夫曼編碼或壓縮的一些其它形式。我想保持全文搜索的可能性 - 我不知道像霍夫曼編碼這樣的壓縮算法是否會允許這樣做。 儘量減少編碼和存儲大量行所需的處理器使用量。 有沒有人有

    0熱度

    1回答

    因此,我需要爲我的學校作業編寫Huffman Compression/Decompression,並且無法使用優先級隊列來存儲頻率。 令我頭疼的兩個文件是HCNode.hpp和main.cpp。在HCNode.hpp文件我已經超負荷bool operator<(const HCNode& other),在我main.cpp當我嘗試初始化像這樣的優先級隊列: priority_queue< HCNo

    1熱度

    2回答

    我目前正在執行一個基於Java的huffman算法的程序,而且我正處於需要將編碼內容輸出到文件的階段。我對如何實現解碼所需的頭文件和eof有點困惑。對於我目前的頭文件,我擁有輸入文件中出現的所有唯一值及其頻率,但在一些文章中,我看到人們用0或1來表示節點,然後是頻率(這有點讓人困惑因爲它沒有說明符號是什麼)。 另外,對於EOF,據我瞭解,我將它編碼爲符號,因此它被讀取和解碼,但是我不確定我可以使用

    1熱度

    1回答

    我一直在嘗試很多不同的東西在這裏,似乎無法得到它的工作。輸入是「abbcccddddeeeee」,它給出了鏈接列表a,b,c,d,e,其頻率分別爲1,2,3,4,5。 出於某種原因,不過,這似乎是給我基於很多不同的測試下面的樹我已經運行: f15 / \ f6 f9 /\ d4 e5 /\ f3 c3

    9熱度

    3回答

    我剛開始學習文件壓縮,並且遇到了一些障礙。我有一個應用程序將編碼字符串,如「程序」作爲壓縮的二進制表示"010100111111011000"(注意這仍然存儲爲字符串)。 Encoding g 111 r 10 a 110 p 010 o 011 m 00 現在我需要使用FileOutputStream寫這個文件系統,我遇到的問題是,我怎麼能串「010100111111

    0熱度

    2回答

    我正在C中嘗試創建一個huffman解碼器。這段代碼只在codearray進入未初始化時才起作用,否則會給我一個分段錯誤。然而,valgrind抱怨說,如果我這樣做的話,codearray是未初始化的。我用ddd進行了檢查,一旦strcpy被調用,segmentaion錯誤就會發生,我不知道爲什麼。 void printtree_inorder(node* n,char* code,char* l

    2熱度

    1回答

    我的程序實現霍夫曼編碼有問題。 在基數2中,我使用二叉樹存儲碼字,但我不知道如何處理基數3. 我試圖使用三叉樹,但不知道如何實現它與三元組,如何添加0,1,2符號...

    0熱度

    1回答

    所以目前我有一個程序創建一個霍夫曼樹。樹由這些字段組成的「Hnodes」組成:右(指向右邊的孩子)左邊(指向左邊的孩子)代碼(整數串,理想情況下是0和1,它是該節點的霍夫曼編碼)character(包含在節點中的字符)。 我已經通過添加鏈接列表中的節點創建了霍夫曼樹 - 我知道該樹已正確創建。當我創建樹時,我告訴節點何時給它一個父節點,如果它是父節點的「正確」,那麼它的代碼字符串爲1,如果爲0,但

    0熱度

    1回答

    我已經實現了使用優先級隊列的Java中的Huffman編碼算法,其中我遍歷了樹從根到葉,並根據符號出現的次數獲取編碼示例爲#= 000011在輸入中。一切都很好,樹木製作得很好,編碼和預期一樣:但是我得到的輸出文件比原始文件大。我正在遍歷樹的左節點和右節點,將'0'&'1'附加到字符串。也許我最終會使用每個字符的全部8位,並且它對壓縮沒有幫助。我猜測這些位有一些轉換成字符值是必需的。所以這些字符使