Details
**Description**
Huffman encoding is a way to assign binary codes to symbols that reduces the overall number of bits used to encode a typical string of those symbols.
Given an alphanumeric string, apply Huffman encoding and output the resulting binary string.
- If two nodes have equal frequency, prefer earlier created nodes on the left (zero) side.
baabddddde => 111101011100000110
Explanation:
Sorted frequencies: (e: 1, b: 2, a: 2, d: 5)
Huffman tree: (d: 5, (a: 2, (e: 1, b: 2)))
Huffman code: (d: 0, a: 10, e: 110, b: 111)
Apply code to each symbol: 111 10 10 111 0 0 0 0 0 110
External links: Rosetta Code, Wikipedia
0 bytes, 0 chars
Restore solution
Compiled from
AT&T syntax to x86-64 Linux. Use
syscalls to write output.
05AB1E is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
APL is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Arturo is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Befunge is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
BQN is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
CJam is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
CoffeeScript is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Egel is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Fennel is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Harbour is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Hare is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Haxe is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Hush is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Hy is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
iogii is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Knight is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Lily is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Luau is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Odin is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Picat is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Qore is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Racket is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Rebol is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Rexx is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Scala is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Squirrel is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Stax is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Uiua is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Umka is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Vala is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
Vyxal is an experimental language, solutions won't contribute to
scoring until the language goes live. Please leave feedback on the
GitHub issue.
ctrl + enter or