var Num:integer;


var Num:integer; var code:integer):integer; var i,child:integer; last_el:element; stop:boolean; begin if Num=0 then code:=2 else begin delete_min:=H[1]; last_el:=H[Num]; Num:=Num-1; i:=1; stop:=False; while (2*i<=Num) and (not stop) do begin child:=2*i; if child < Num then if H[child+1] < H[child] then child:=child+1; if last_el > H[child] then begin H[i]:=H[child]; i:=child; end else stop:=True; end; {while} H[i]:=last_el; code:=0; end; {if} end; {delete_min} Трудоемкость операции добавления определяется количеством выполнения цикла while и не превышает количества уровней кучи, которое равно Log (Num) Применение бинарных куч. Понятно, что такая структура очень полезна. Ее можно использовать для сортировки элементов. Для этого достаточно вначале добавить каждый из них в кучу, а затем поочередно удалить. Трудоемкость сортировки, реализованной таким образом, определяется трудоемкостью операций добавления и удаления
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz