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