Консультация № 29444
13.11.2005, 00:36
0.00 руб.
0 2 2
Здравствуйте.
Приведите, пожалуйста, словесный (общий) алгоритм построения бинарного дерева. Построения из набора чисел и если можно, то максимально подробно.
Заранее спасибо.

Обсуждение

Неизвестный
13.11.2005, 11:54
общий
это ответ
Здравствуйте, Martin!
Бинарное дерево собственно строить и не надо, его можно задать массивом размерностью n, при этом учитывая, что элемент [i] может иметь:
1) 2-х сыновей [2*i] и [2*i+1]
2) 1-ого сына [2*i] (тогда размер массива [2*i])
3) не иметь сыновей (если [i]-лист)
Исходя из этого каждый элемент дерева [i] (кроме корня (элемент [1])) имеет одного предка [i div 2]

Если же Вы имеете ввиду сортирующее бинарное дерево (известное как Heap) то посетите страничку http://algolist.manual.ru/sort/pyramid_sort.php
Неизвестный
14.11.2005, 12:06
общий
это ответ
Здравствуйте, Martin!
1. Берём первое число. Это врешина. (15)
2. Берём второе число. (9). Оно меньше чем (15). Ставми его левым листом от 15
15
/
9
3. Берём третье число. (13). Оно меньше (15) и больше (13). Ставим его праым листом от (9)

15
/
9
\
13
4. Берём четвёртое число. (73). Оно больше (15). Ставим его правым листом от (15)
15
/ \
9 73
\
13
И так далее :-)
Форма ответа