Поиск в графе 2
.pdf
Задача поиска в графе |
Поиск в глубину |
|
|
Древесные и обратные ребра поиска
Из примера и описания алгоритма видно, что в результате работы алгоритма поиска в глубину получаем дерево, которое называется деревом поиска в глубину
Ребра графа, вошедшие в дерево поиска называются древесными, остальные обратными
По сути массив Father используется для того, чтобы сохранить дерево поиска в глубину
Из-за произвола в выборе начальной вершины и очередной вершины из списка смежности,дерево поиска в глубину не определено однозначно для данного графа
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Древесные и обратные ребра поиска
Из примера и описания алгоритма видно, что в результате работы алгоритма поиска в глубину получаем дерево, которое называется деревом поиска в глубину
Ребра графа, вошедшие в дерево поиска называются древесными, остальные обратными
По сути массив Father используется для того, чтобы сохранить дерево поиска в глубину
Из-за произвола в выборе начальной вершины и очередной вершины из списка смежности,дерево поиска в глубину не определено однозначно для данного графа (т. е. при разном порядке выбора вершин могут получаться различные деревья)
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Древесные и обратные ребра поиска
Из примера и описания алгоритма видно, что в результате работы алгоритма поиска в глубину получаем дерево, которое называется деревом поиска в глубину
Ребра графа, вошедшие в дерево поиска называются древесными, остальные обратными
По сути массив Father используется для того, чтобы сохранить дерево поиска в глубину
Из-за произвола в выборе начальной вершины и очередной вершины из списка смежности,дерево поиска в глубину не определено однозначно для данного графа (т. е. при разном порядке выбора вершин могут получаться различные деревья)
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Лемма 1.1
Алгоритм поиска в глубину просматривает каждую запись списка смежности однократно
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Лемма 1.1
Алгоритм поиска в глубину просматривает каждую запись списка смежности однократно
Нетрудно увидеть, что после чтения очередной записи, мы либо включаем соответствующую вершину в стек (если вершина еще не посещалась)
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Лемма 1.1
Алгоритм поиска в глубину просматривает каждую запись списка смежности однократно
Нетрудно увидеть, что после чтения очередной записи, мы либо включаем соответствующую вершину в стек (если вершина еще не посещалась)
или игнорируем ее (если вершина уже была посещена ранее, из другой вершины)
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Лемма 1.1
Алгоритм поиска в глубину просматривает каждую запись списка смежности однократно
Нетрудно увидеть, что после чтения очередной записи, мы либо включаем соответствующую вершину в стек (если вершина еще не посещалась)
или игнорируем ее (если вершина уже была посещена ранее, из другой вершины)
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Теорема 1.1
Пусть G = (V; E) связный (n; m)-граф. Тогда алгоритм поиска в глубину требует O(n + m) операций.
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Теорема 1.1
Пусть G = (V; E) связный (n; m)-граф. Тогда алгоритм поиска в глубину требует O(n + m) операций.
Д о к а з а т е л ь с т в о. Поскольку список смежности содержит 2m записей, то его чтение требует 2m операций.
Расин О.В. |
Поиск в графе |
|
|
Задача поиска в графе |
Поиск в глубину |
|
|
Временная сложность поиска в глубину
Теорема 1.1
Пусть G = (V; E) связный (n; m)-граф. Тогда алгоритм поиска в глубину требует O(n + m) операций.
Д о к а з а т е л ь с т в о. Поскольку список смежности содержит 2m записей, то его чтение требует 2m операций.
Конечно нужно учитывать еще манипуляции, связанные с вставкой/извлечением вершины из стека,
Расин О.В. |
Поиск в графе |
|
|
