На этом шаге мы рассмотрим этот алгоритм.
В приведённой ниже записи нерекурсивного алгоритма поиска в ширину на графе [1, с.125-126] предполагается, что:
while (Имеется хотя бы одна непосещённая вершина)
{
Пусть p - первая из непосещённых вершин.
Посетить вершину p и поместить её в пустую очередь S;
while (Очередь S непуста)
{
Пусть p - вершина, находящаяся на верхушке очереди S;
if (Вершина p имеет непосещённые смежные вершины)
{
Пусть q - первая непосещённая вершина из вершин,
смежных вершине p. Пройти по ребру (p,q), посетить
вершину q и поместить её в очередь S
}
else Удалить вершину p из очереди S
}
}
На следующем шаге мы рассмотрим вычисление компонентов связности графа.