
Поиск в графе 1
.pdf
Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены,
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены, то перейти к шагу 4.
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены, то перейти к шагу 4.
2. Если Front 6= 0/, то перейти к шагу 3.
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены, то перейти к шагу 4.
2. Если Front 6= 0/, то перейти к шагу 3. Если Front = 0/,
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены, то перейти к шагу 4.
2. Если Front 6= 0/, то перейти к шагу 3. Если Front = 0/, то перейти к шагу 4.
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Поиск в ширину (формулировка алгоритма)
0.(инициализация) Для каждой вершины v 2V присваиваем
Visit[v] := 0, Father[v] := 0num[v] := 0; counterNum := 1
1.Если есть непросмотренные вершины, т. е. существует v 2V , что Visit[v] = 0,
берем такую вершину v, добавляем в конец очереди
(Front:AddTail(v)); Visit[v] := 1, num[v] := 1, counterNum + +
Перейти к шагу 2 Если все вершины просмотрены, то перейти к шагу 4.
2. Если Front 6= 0/, то перейти к шагу 3. Если Front = 0/, то перейти к шагу 4.
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Формулировка алгоритма
3. Берем очередную вершину v из очереди
(v := Front:GetHead()) и просматриваем ее список смежности.
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Формулировка алгоритма
3. Берем очередную вершину v из очереди
(v := Front:GetHead()) и просматриваем ее список смежности. Для каждого соседа u вершины v если Visit[u] = 0, то
Front:Add(u);
Расин О.В. |
Поиск в графе |
|
|

Задача поиска в графе |
Поиск в ширину |
|
|
Формулировка алгоритма
3. Берем очередную вершину v из очереди
(v := Front:GetHead()) и просматриваем ее список смежности. Для каждого соседа u вершины v если Visit[u] = 0, то
Front:Add(u); Visit[u] := 1;
Расин О.В. |
Поиск в графе |
|
|