Структуры и алгоритмы обработки данных

       

Процедура создания бинарного дерева


Для построения дерева необходимо создать в памяти ЭВМ элемент следующего типа:

P, Q - рабочие указатели

V=maketree(key,rec) - процедура, которая создает сегмент ключа и записи

P=getnode - генерация нового элемента

r=rec

k=key

V=P

left=nil

right=nil

tree - указатель на корень дерева

Введем сначала первое значение ключа, потом сгенерируем сам элемент узла дерева процедурой maketree. Далее идем по циклу до тех пор, пока указатель не передвинется на нулевое значение.

READ(key,rec)

tree=maketree(key,rec)

WHILE not eof DO

  READ(key,rec)

  V=maketree(key,rec)

  WHILE P<>nil DO

     Q=P

     IF key=k(P)

       THEN P=left(P)

       ELSE P=right(P)

    END IF

 END WHILE

 IF P=nil

  THEN WRITELN(' Это корень');

  tree=V

  ELSE IF key<k(q)

           THEN left(P)=V

           ELSE right(P)=V

          END IF

   END IF

END WHILE



Содержание раздела