Написать псевдокод процедуры DELETEMIN(A) удаления минимального элемента из частично упорядоченного дерева, реализованного массивом «куча»
Написать псевдокод процедуры DELETEMIN(A) удаления минимального элемента из частично упорядоченного дерева, реализованного массивом «куча» A. 2. Вывести не менее 5 начальных серий для оптимальной сходимости алгоритма многофазной фибоначчиевой сортировки с числом вспомогательных файлов m+1=9. Показать сходимость на примере одного из распределений с не менее чем 6 проходами.
Procedure Insert (v- узел, wv-вес узла v, T-дерево);
begin
определить в дереве Т последний узел-лист i;
если i - левый сын, то найти родителя i-го узла – j, добавить узел v как правый сын узла j;
если i - правый сын, то найти следующий узел-лист j, являвшийся бы родителем для несуществующего узла (i+1), добавить узел v как левый сын узла j;
while wv<wj и v – не корень Т do
begin
обменять местами родительский узел j с узлом v;
найти новый родительский узел j для узла v;
end;
end;
function DeleteMin (T-дерево; n-количество узлов): узел;
begin
определить в дереве Т последний узел-лист i;
определить в дереве T корень — k;
v:=k; k:=i; n:=n-1;
while k<=n div 2 do
begin
найти левого — i и правого – (i+1)
сына узла k, имеющих вес wi и wi+1;
if wi<wi+1 then j:=i else j:=i+1;
if wj<wk then обменять местами
родителя k и сына j
else return(v);
end;
return(v);
end;
Программирование алгоритма реализации очереди с приоритетом на Паскале
program queue_priority;const maxsize=10;type prioritet=integer;
priorityQueue= recordT: array [1..maxsize] of prioritet;last: integer;end;var A: priorityQueue; x,y:prioritet; i:integer;
procedure makenull(var Q:priorityQueue);beginQ.last:=0;end; {создание пустой очереди, последний элемент 0}
procedure Insert(x:prioritet; var Q:priorityQueue);var i:integer;temp: pioritet;beginif Q.last>= maxsize thenbeginwriteln ('ochered zapolnena');halt (1);endelsebeginQ.last:=Q.last+1;Q.T[Q.last]:=x;i:=Q.last; {i - индекс текущей позиции x}while (i>1) and (Q.T[i]<Q.T[i div 2]) dobegin{перемещение х вверх по дереву путемобмена местами с родителями,имеющими больший приоритет}temp:=Q.T[i];Q.T[i]:=Q.T[i div 2];Q.T[i div 2]:=temp;i:= i div 2;end;end;end; {вставка элемента в очередь}
function DeleteMin (var Q:priorityQueue):prioritet;var i, j: integer;temp: prioritet;minimum: prioritet;beginif Q.last=0 thenbeginwriteln('ochered pusta');DeleteMin:=0endelse begin {1}minimum:=Q.T[1];Q.T[1]:=Q.T[Q.last];Q.last:=Q.last -1;i:=1;while i<=(Q.last div 2) do beginif (Q.T[2*i]<Q.T[2*i+1]) or (2*i=Q.last) thenj:=2*ielsej:=2*i+1;{j - будет сыном i с наименьшим приоритетом или,если 2*i=A.last будет просто сыном i}if (Q.T[i])>(Q.T[j]) thenbegin{обмен старого последнего элемента с сыном,имеющим наименьший приоритет}temp:=Q.T[i];Q.T[i]:=Q.T[j];Q.T[j]:=temp;i:=j;endelse DeleteMin:=minimum;{дальше перемещение невозможно}end; {while}DeleteMin:=minimum; {элемент дошел до места}end {1}end; {deletemin}
begin {основная программа}makenull(A);writeln('sozdanie ocheredi s prioritetom - 10 elementov');for i:=1 to maxsize dobeginwrite('BBedite prioritet ');readln(x);Insert( x,A);end;writeln('derevo - ochered - massiv');for i:=1 to maxsize do write (' ',A.T[i],' ');writeln;writeln ('udalenie s prioritetom ');y:= DeleteMin(A);writeln('y=',y);writeln('delete min priority iz ocheredi - massiv');for i:=1 to maxsize do write (' ',A.T[i],' ');writeln;end.

- Написать схему гальванического элемента в молекулярном и ионном виде, электродные процессы, суммарную окислительно-восстановительную реакцию
- Написать три первые члена разложения функций в ряд Тейлора. y1 = ex; x0 = 1 y2
- Написать уравнение гармонического колебательного движения с амплитудой A=50 мм, периодом T=4 с, начальной фазой
- Написать уравнение касательной плоскости и нормали к поверхности в точке А; найти градиент функции z
- Написать уравнение нормали к кривой: 9x2 + 5y2 = 90, зная, что эта касательная
- Написать уравнение плоскости, проходящей через прямую l перпендикулярно плоскости P l: 3x+2y-z+5=0x-y-3z+1=0, P: x+y-z+6=0
- Написать уравнение прямой, проходящей через точку (–2; 1) на расстоянии 1 от начала координат.
- Написать на языке С++ функцию, выполняющую вычисление площади прямоугольника по заданным длинам сторон. Продемонстрировать
- Написать недостающие обозначения в следующей ядерной реакции: 1327Al+01n→?+24He Дано: 1327Al+01n→?+24He Запишем уравнение реакции в виде химической записи: 1327Al+01n→ZAX+24He Найти: X —
- Написать обозначение класса точности прибора, если известно, что предел допускаемой относительной погрешности при максимальном
- Написать первые три члена ряда и проверить необходимый признак сходимости для заданного числового ряда n=1∞(2n+1)
- Написать передаточные функции минимально-фазовых звеньев, имеющих асимптотические л.а.х. представленные на рис.3, и качественно построить
- Написать передаточные функции минимально-фазовых звеньев, имеющих асимптотические л.а.х. представленные на рис.4, и качественно построить
- Написать по данной матрице планирования X и матрице значений выходного параметра Y линейную математическую