Menu
Coddy logo textTech

Implementation (Part 2)

Урок 6 из 9 курса Поиск в глубину — алгоритмы на графах на Coddy.

Теперь мы обходим весь граф с помощью стека.

challenge icon

Задание

Средне

Теперь постройте полный обход.

Напишите функцию с именем 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;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Поиск в глубину — алгоритмы на графах