Note: An optimal code is always represented by a full binary tree in which every non-leaf node has exactly two children.

Given tree T, compute the number of bits to represent file.

Let C = set of unique characters in file.

Let f(c) = frequency of character c in file.

Let *d*_{T}(*c*) = depth of c's leaf node in T

Then, the number of bits required to encode a file B(T) =
.

B(T) = cost of tree T