Assigning Codes

Traverse the Tree to Assign Codes
Recursively traverse the tree, assigning 0 for left branches and 1 for right branches.
More Frequent Characters Get Shorter Codes
The structure of the tree ensures that frequent characters are higher up, resulting in shorter codes.
The code for assigning the codes:
1// JavaScript code for assigning codes
2function assignCodes(node, code, codes) {
3 if (node.char != null) {
4 codes[node.char] = code;
5 return;
6 }
7 assignCodes(node.left, code + "0", codes);
8 assignCodes(node.right, code + "1", codes);
9}
xxxxxxxxxx
14
// JavaScript code for assigning codes
function assignCodes(node, code, codes) {
if (node.char != null) {
codes[node.char] = code;
return;
}
assignCodes(node.left, code + "0", codes);
assignCodes(node.right, code + "1", codes);
}
​
let codes = {};
// Assume node is an object of the Node class representing the root of the Huffman tree
assignCodes(node, "", codes);
console.log(codes);
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment