Принцип построения дерева очень простой:
берем самый частый символ - это бит 0,
следующий по частоте будет 10,
потом 110, и т.д.
Нарисуйте бинарное дерево:
0 - Root - 1
затем из 1 выводите 0 и 1 следующего уровня и т.д.