huffman-code

    1熱度

    1回答

    對於我正在開發的項目,我需要在O(n)空間中實施Burrows-Wheeler的MoveToFront轉換。不過,出於某種原因,我的代碼可以處理大部分我所使用的值,但不是全部。 我的實現看起來是這樣的: public byte[] transform (byte[] input) { if (input.length == 0) return input; Ind

    0熱度

    5回答

    我對安全性或任何此類性質並不感興趣,但我需要一些允許「壓縮」/「解壓縮」字符串的函數。我已經嘗試過Base64,但是這對字符串的大小有很大的影響,它使得它更長。我也知道這個霍夫曼的東西,但這不起作用,因爲它也使它更長(在內存方面,它是一個整數)。 換句話說,我想要一些任意字符串'djshdjkash'被編碼爲其他字符串'dhaldhnctu'。能夠從一個到另一個,並且使新字符串的長度等於或小於原始

    4熱度

    1回答

    我有一個程序以未知方式壓縮字符串。我知道一些輸入和產生的輸出,但我不知道用什麼來壓縮字符串。 這裏是我的例子。 (只是38 XA,沒有空格或其他任何東西) In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" Out: "21 1A A6 30 00" (只是32 XA) In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" Ou

    2熱度

    2回答

    作爲與我的question regarding efficient way of storing huffman tree's有關的後續問題,我想知道什麼是最快和最有效的搜索二叉樹(基於霍夫曼編碼輸出)和存儲所採取的路徑到特定節點。 這是我目前有: 添加根節點排隊 而隊列不爲空,彈出項關閉隊列 檢查,如果它是什麼,我們正在尋找 是: 將一個頭指針返回到根節點,而在我們訪問的每個節點上檢查它是左或右

    0熱度

    4回答

    我試圖實現自適應huffman代碼,但在嘗試構建樹時,我在執行代碼時出現了段錯誤「currentNYT-> lchild = newNYT;」在addnode()函數中。 任何人都可以請幫我嗎?這可能是簡單的,我不知道。現在暫時不使用C. //variable and type declarations struct treeElement { unsigned long weigh

    2熱度

    4回答

    void BinaryTree::InitializeFromFile(string Filename){ ifstream inFile; inFile.open(Filename, fstream::binary); if(inFile.fail()){ cout<<"Error in opening file "<<Filename; return; } for

    4熱度

    3回答

    我正在學校項目中實施霍夫曼文本編碼。課程的第一部分需要對文本進行頻率分析。除了巨型開關和一系列計數器之外,還有更好的方法嗎? 即: int[] counters for(int i = 0; i <inString.length(); i++) { switch(inString[i]) case 'A': counters[0]++; . . . 我想這樣做

    1熱度

    6回答

    我有一個任務來壓縮股票市場數據......數據是在一個文件中,每天的股票價值在一行中給出,等等......所以這是一個非常大的文件。 例如, 123.45 234.75 345.678 889.56 ..... 現在的問題是如何對數據進行壓縮(又名減少冗餘)使用標準算法,如霍夫曼或算術編碼或LZ編碼...哪種編碼是最適合這種數據... 我已經注意到,如果我把第一個數據,然後考慮到每個連續數據之間的

    13熱度

    1回答

    以下塊由霍夫曼塊標記嵌套 -HUFF---------------------------------------------------------------------0084- 10 0 1 2 4 3 4 6 5 6 8 a 9 4 2 3 0 1 2 11 0 3 4 21 5 12 31 6 41 51 61 13 22 71 81 91 a1 14 3

    2熱度

    3回答

    根據輸入的數字0或1,有沒有更好的方法,而不僅僅是左轉或右轉?