Давайте проанализируем различные варианты здесь.
Последовательность из N равных чисел означает, что сбалансированное дерево будет создано с фактическими символами у нижних листовых узлов.
Последовательность 1-N обладает свойством, что, как вы начнете группировки двух нижних элементов их сумма будет быстро подниматься выше других элементов, вот пример:
Как вам как видно, группы из 4 + 5 и 7 + 8 сами по себе не способствовали росту дерева.
После группировки двух 3-узлов в 6 узлы 4 и 5 являются следующими в строке, что означает, что каждая новая группа, сформированная, не будет способствовать ее росту. Большинство будет, но не все, и это важный факт.
Последовательность, использующая квадраты (примечание: квадраты, как в третьей последовательности в вопросе, 1^2, 2^2, 3^2, 4^2, ..., N^2
, а не элементы квадратной диаграммы) имеет несколько то же поведение, что и последовательность из 1-N, причем некоторые из элементов, который был только что сформирован будет использоваться, что сокращает на высоте:
Как вы можете видеть здесь, то же самое случилось с 36 + 49, это не способствовало высоте дерева.
Однако, последовательность fibonacci отличается. Когда вы группируете два наименьших узла, их сумма будет в лучшем случае свертывать следующий элемент, но не более одного из них, что означает, что каждая новая сформированная группа будет использоваться и в следующем, так что каждая новая группа будет сформирована способствуют росту дерева. Это отличается от других 3 примеров.
Кажется, я ошибся квадраты, позвольте мне обдумать это. –
Последовательность с использованием квадратов имеет то же самое поведение, поэтому я не буду подробно описывать это здесь. ? !!!! – nini
Да, квадраты, 1^2, 2^2, 3^2, 4^2 и т. Д. Но мой первоначальный текст был неправильным, исправил его сейчас. –