- Главная
- Информатика
- Графы. Поиск в ширину (bfs) кратчайшие пути в невзвешенном графе
Содержание
Слайд 2
Очередь (std::queue)
Требуется подключение библиотеки #include
Модель FIFO
Объявление объекта очереди
queue<`тип данных`> que;
Добавление
Очередь (std::queue)
Требуется подключение библиотеки #include
Модель FIFO
Объявление объекта очереди
queue<`тип данных`> que;
Добавление
объекта в очередь que.push(obj);
Получение первого объекта из очереди que.front();
Удаление первого элемента из очереди que.pop();
Проверка, пустая ли очередь que.empty();
Получение первого объекта из очереди que.front();
Удаление первого элемента из очереди que.pop();
Проверка, пустая ли очередь que.empty();
Слайд 3
Поиск (обход) в ширину (BFS)
Для каждой вершины графа будем хранить цвет.
Поиск (обход) в ширину (BFS)
Для каждой вершины графа будем хранить цвет.
Пусть изначально вершины будут белыми, когда мы в них входим, они будут становиться чёрными.
Создадим очередь, в которую будем помещать обходимые вершины.
Будем перебирать вершины графа. Если встречаем белую вершину – запускаем из неё поиск в глубину.
Во время поиска в ширину добавляем исходную вершину в очередь.
Пока в очереди есть вершины, достаём вершину из очереди, закрашиваем все белые вершины, смежные с данной, и добавляем их в очередь.
Создадим очередь, в которую будем помещать обходимые вершины.
Будем перебирать вершины графа. Если встречаем белую вершину – запускаем из неё поиск в глубину.
Во время поиска в ширину добавляем исходную вершину в очередь.
Пока в очереди есть вершины, достаём вершину из очереди, закрашиваем все белые вершины, смежные с данной, и добавляем их в очередь.
- Предыдущая
Особенности органических реакцийСледующая -
Биохимия. Введение