Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

If t<>nil Then Begin

While (i>1) And (A[i Div 2]<x) Do Begin | If (x<>nil) And (y<>nil) Then Begin | With h^ Do Begin |


Читайте также:
  1. BETWEEN THE BEGINNING AND THE END
  2. If (x<>nil) And (y<>nil) Then Begin
  3. If t^.data<q^.data Then Begin
  4. Match the beginning of the sentence with its ending.
  5. Match the beginning of the sentence with its ending.
  6. Read the beginnings of these sentences quickly, adding (e)s where necessary. If you can complete the sentence with one or two words, you are welcome.

Change(t^.left);{Идем в левое поддерево.}

Change(t^.right);{Затем в правое поддерево.}

If (t^.left<> nil) And (t^.data<t^.left^.data)

Then Swap(t^.data,t^.left^.data); {Записываем максимальное значение в корень поддерева.}

If (t^.right<> nil) And (t^.data<t^.right^.data)

Then Swap(t^.data,t^.right^.data);

End;

End;,

На рис. 7.4 приведен пример дерева и его изменение в процессе работы процедуры Change с ним.

Рис. 7.4. Обход двоичного дерева с изменением значения ключей по принципу кучи

На рис. 7.5 приведен пример преобразования двоичного дерева (h =3) в кучу с помощью данной логики. Второе дерево – это результат работы Change на первой итерации (h =1), третье дерево получается после второй итерации (h =2), и, наконец, четвертое дерево – после третьей итерации (h =3).

Рис. 7.5. Пример формирования кучи

Procedure Push(t:pt);

Var v,w,q:pt;{Вспомогательные переменные v, w введены для наглядности (обозримости) текста процедуры.}

Begin


Дата добавления: 2015-07-11; просмотров: 77 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Очереди с приоритетами| If t^.data<q^.data Then Begin

mybiblioteka.su - 2015-2024 год. (0.005 сек.)