Implementation (Part 2)
Урок 6 из 9 курса Поиск в глубину — алгоритмы на графах на Coddy.
Теперь мы обходим весь граф с помощью стека.
Задание
СреднеТеперь постройте полный обход.
Напишите функцию с именем dfs, которая принимает n, плоский массив edges (неориентированный) и начальную вершину start, и возвращает порядок, в котором DFS посещает вершины, начиная с start.
Сначала постройте список смежности (отсортируйте соседей каждой вершины по возрастанию). Затем запустите итеративный DFS с использованием стека. Посещаются только вершины, достижимые из start.
Чтобы посещать соседей в порядке возрастания, добавляйте их в стек от самого большого к самому меньшему.
Попробуйте сами
#include <stdlib.h>
int* dfs(int n, int* edges, int edges_size, int start, int* returnSize) {
// Напишите код здесь
*returnSize = 0;
return edges;
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Поиск в глубину — алгоритмы на графах
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)