Huffman coding: Difference between revisions

Content added Content deleted
Line 2,753: Line 2,753:


def encode(str, encoding)
def encode(str, encoding)
str.each_char.inject("") {|encoded, char| encoded << encoding[char]}
str.each_char.collect {|char| encoding[char]}.join
end
end


def decode(encoded, encoding)
def decode(encoded, encoding)
rev_enc = Hash[*encoding.to_a.flatten.reverse]
rev_enc = encoding.invert
decoded = ""
decoded = ""
pos = 0
pos = 0