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

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

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

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

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

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

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

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

Итоги урока

Обход графа в ширину

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

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

Реализация алгоритма BFS на языке Pascal

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

program n1;

const N=5;

var start,r,i,j,count,head:integer;

G:array [1..N,1..N] of integer; ochered,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);

count:=1;

flag[start]:=1;

ochered[1]:=start;

head:=0; r:=1;

while headcount do

begin

inc(head);

writeln('- ',ochered[head]);

for i:=1 to N do

if (G[ochered[head],i]0)and(flag[i]=0) then

begin

inc(count);

ochered[count]:=i;

flag[i]:=1;

end;

for i:=1 to n do

if flag[i]=0 then begin inc(r); break; end;

end;

write('waves=',r);

end.