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

With h^ Do Begin

Очереди с приоритетами | If t<>nil Then Begin | If t^.data<q^.data Then Begin | While (i>1) And (A[i Div 2]<x) Do Begin |


Читайте также:
  1. BETWEEN THE BEGINNING AND THE END
  2. If (x<>nil) And (y<>nil) Then Begin
  3. If t<>nil Then Begin
  4. If t^.data<q^.data Then Begin
  5. Match the beginning of the sentence with its ending.
  6. Match the beginning of the sentence with its ending.
  7. 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.

parent:= nil;

child:= nil;

sibl:= nil;

degree:=0;

key:=x;

End;

Merge(h,head,head);{Сливаем кучи: кучу из одного элемента и старую кучу.}

End;

С операцией Extract _ min дела обстоят чуть сложнее (рис. 7.19). Так как минимальный элемент в каждом биномиальном дереве кучи находится в корне, то необходимо просмотреть корневой список. Пусть дана куча из B 2, B 4, B 5, B 7 и минимальный элемент находится в B 5 (рис. 7.19, система обозначений та же, что и на предыдущих рисунках). Куча распадается на две. В первой те биномиальные деревья, которые были в исходной куче до дерева с минимальным элементом, а во второй – поддеревья с корнями, являющимися сыновьями удаленного корня дерева, и элементы кучи, которые следовали в исходной после удаленного дерева (можно сделать и иначе – «остаток» в первую кучу). На рис. 7.19 приведена структура (для примера) первой и второй куч. Дальнейшее очевидно – выполняем операцию Merge для полученных куч.

Рис. 7.19. Иллюстрация операции Extract_Min

Function Extract_Min(Var head:pt): Integer;

Var x: Integer;

h,prev,p,next:pt;

Begin

x:= maxint; {Имитация бесконечного значения.}

If (head<> nil) Then Begin {Ищем элемент с минимальным ключом.}

p:=head;

prev:= nil;


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


<== предыдущая страница | следующая страница ==>
If (x<>nil) And (y<>nil) Then Begin| Составить таблицы

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