Как напечатать двоичное дерево в пирамиде

Когда я предполагаю, что ширина элемента составляет всего 1, а зазор между элементами также равен ширине 1, я могу получить формулу, чтобы найти правильное пространство, необходимое для печати между каждым элементом в другой строке.

Однако, если ширина элементов меняется, я просто не знаю, как это сделать.

Здесь я получил двумерный массив, который содержит узлы, если указатель == ноль, то в этом месте нет узла. массив похож на

[]

[] []

[] [] []

[] [] [] []

........

Я могу обойти все узлы и найти максимальную ширину для элементов, а затем установить постоянную ширину зазора между каждым элементом, любой знает, какова формула для поиска пробелов. Спасибо.

Или, если у кого-нибудь есть код для печати двоичного дерева в пирамиде, поделитесь им со мной здесь.

Edit: я на самом деле просто прошу математику для этого. Я просто говорю, что если у вас есть только код, я могу извлечь математику из кода и выучить его таким образом. Извините, если я неясно.

0 ответов

Другие вопросы по тегам