1. Все имеющиеся сообщений располагают в один столбик в порядке убывания вероятностей.
2. Затем два самых маловероятных сообщения объединяют в одно сообщение , которое имеет вероятность . В результате получают сообщения , вероятности которых . Эти сообщения вновь располагают в порядке убывания вероятностей.
3. Далее берут два сообщения, имеющие наименьшие вероятности, объединяют их в одно и вычисляют их общую вероятность.
4. Шаги 2 и 3 повторяют до тех пор, пока не получат единственное сообщение, вероятность которого равна единице.
5. Проводя линии, объединяющие сообщения и образующие последовательные подмножества, получают дерево, в котором отдельные сообщения являются концевыми узлами. Соответствующие им кодовые слова можно построить, приписывая ветви, которые идут вниз - «0», а вверх - «1».