A quick tutorial on generating a huffman treeConfused о Хаффмана Деревья
Confused о Хаффмана деревьев. В конце этой ссылки выше показано дерево с двумя элементами слева, а затем завершенное дерево. Я смущен тем, что он разветвлен. Существует ли конкретный способ, чтобы дерево хаффмана было разветвленным?
Например, 57: * с его правым дочерним элементом 35: * разветвляется вправо. Может ли это быть 35 разветвленных слева с 22 разветвленной вправо? Кроме того, почему не было 22: * в паре с 15: 4 - он просто спарен с 20: 5, чтобы создать новое дерево.
От первоначальных обвинений кажется, что дерево не нужно балансировать или иметь какой-либо конкретный порядок, отличный от того, что частоты листа дополняют значение родительского узла. Могут ли два человека, создающих дерево huffman с одинаковыми данными, получить разные значения кодировки?
Примечание к плакату: обратите внимание, что эти решения не изменяют, насколько хорошо ваше кодирование Хаффмана сжимает данные. Независимо от того, как вы упорядочиваете листья, все значения будут иметь одинаковую глубину в дереве каждый раз, что означает, что длина кодов всегда будет сортироваться по частоте значения. – mquander
@mquander: Не мог лучше сказать себя. – Amadan
Спасибо. Это имеет смысл сейчас :) – ShrimpCrackers