СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Остовное дерево

Категория: Информатика

Нажмите, чтобы узнать подробности

Реализация алгоритма Прима (Крускала)

Просмотр содержимого документа
«Остовное дерево»

program n1; const N=5; Max=MaxInt;

var fin,a,Nomer,min,START,i,j,count:integer; G:array[1..N,1..N] of integer; Ver:array[1..N] of integer; flag:array[1..N] of integer;

begin

for i:=1 to N do

for j:=1 to N do

read(G[i,j]);

read(START,fin);

for i:=1 to N do

Ver[i]:= Max;

Ver[START]:=0;

for i:=1 to N-1 do

begin

min:=Max;

for j:=1 to N do

if (Ver[j]

begin

min:=Ver[j];

Nomer:=j;

end;

flag[Nomer]:=1;

for j:=1 to N do

if (G[Nomer,j]0) and (Ver[Nomer]Max) and (Ver[Nomer]+G[Nomer,j]

end;

{for i:=1 to N do

writeln(i,'=',Ver[i]);}

a:=fin;

writeln('-',fin);

repeat

for i:=1 to N do

if (G[a,i]0)and(ver[a]-G[a,i]=ver[i]) then

begin

writeln('-',i);

a:=i;

end;