Изменения

Перейти к: навигация, поиск

Обход в ширину

55 байт добавлено, 07:15, 8 ноября 2011
м
some minor fixes
{{Теорема
|statement=
Алгоритм поиска в ширину в невзвешенном графе находит оптимальные расстояния длины кратчайших путей до всех достижимых вершин.
|proof=
Допустим, что это не так. Выберем из вершин, для которых найдено неоптимальное расстояние кратчайшие пути от <tex> s </tex> найдены некорректно, ту, длина найденного расстояния до которой минимальна. Пусть это вершина <tex> u </tex>, и она имеет своим предком в дереве обхода в ширину <tex> v </tex>, а предок в оптимальном пути до <tex> v u </tex> — вершина <tex> w </tex>. Расстояние до вершин <tex> v </tex> и <tex> w </tex> найдено корректно, путь (по выбору вершины <tex> u </tex>). Путь через <tex> w </tex> оптимальный, а через <tex> v </tex> — нет, поэтому <tex> d[w] < d[v] </tex>. Из ранее доказанной леммы следует, что в этом случае вершина <tex> w </tex> попала в очередь и была обработана раньше, чем <tex> v </tex>. Но она соединена с <tex> u </tex>, значит, <tex> v </tex> не может быть предком <tex> u </tex> в дереве обхода в ширину, мы пришли к противоречию, следовательно , найденные расстояния до всех вершин оптимальны.
}}
8 '''then''' d[v] <tex> \leftarrow </tex> d[u] + 1
9 Q.push(v)
 
== Литература ==
 
*Томас Х. Кормен и др. Алгоритмы: построение и анализ = INTRODUCTION TO ALGORITHMS. — 2-е изд. — М.: «Вильямс», 2006. — С. 1296. — ISBN 0-07-013151-1
== Ссылки ==
[http://rain.ifmo.ru/cat/view.php/vis/graph-general/bfs-2002 Визуализатор алгоритма]
 
== Литература ==
 
*Томас Х. Кормен и др. Алгоритмы: построение и анализ = INTRODUCTION TO ALGORITHMS. — 2-е изд. — М.: «Вильямс», 2006. — С. 1296. — ISBN 0-07-013151-1
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Кратчайшие пути в графах]]
689
правок

Навигация