произошло нарушение


произошло нарушение основного свойства. При этом элемент с большим приоритетом поднимается вверх, а элемент с меньшим приоритетом занимает его место. Легко видеть, что при таком обмене свойство для вершин, стоящих ниже, не нарушается. Такое преобразование приводит к новому полному бинарному дереву (рис 6б.), которое еще не удовлетворяет основному свойству кучи (для вершины с индексом 2). Поэтому применяем аналогичный обмен для вершины с индексом 5. Результат этого преобразования изображен на рис 7. В результате получено полное бинарное дерево, которое удовлетворяет основному свойству кучи. Поэтому, процедура добавления элемента завершена. S[0]: = 0; for i:= 1 to N do {1. 1} S[i]: = S[i - 1] + a[i]; Type Queue=array[1.. maxqueue] of real; procedure insert(x:integer; var H: array [0..n] of integer; var Num:integer; var code:integer;); var i; begin if Num=n then code:=1 else begin Num:=Num+1; i:=Num; H[0]:=x; {барьер} while (x < H[i div 2]) do
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz