Huffman coding: Difference between revisions

Content added Content deleted
Line 3,257: Line 3,257:
end
end


printencoding(lf::HuffmanLeaf, prefix::String) = println(lf.ch, "\t", lf.freq, "\t", prefix)
printencoding(lf::HuffmanLeaf, code::String) = println(lf.ch, "\t", lf.freq, "\t", code)


function printencoding(nd::HuffmanNode, prefix::String)
function printencoding(nd::HuffmanNode, code::String)
prefix *= '0'
prefix *= '0'
printencoding(nd.left, prefix)
printencoding(nd.left, code)
prefix = prefix[1:end-1]
prefix = prefix[1:end-1]


prefix *= '1'
prefix *= '1'
printencoding(nd.right, prefix)
printencoding(nd.right, code)
prefix = prefix[1:end-1]
prefix = prefix[1:end-1]
end
end
Line 3,296: Line 3,296:
6 111
6 111
</pre>
</pre>



=={{header|Kotlin}}==
=={{header|Kotlin}}==