Menu
Coddy logo textTech

How it works?

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

DFS хранит маркер visited (посещено) для каждой вершины и stack (стек) вершин для обработки.

Пошаговый процесс:

  1. Поместите начальную вершину в стек.
  2. Извлеките вершину из стека. Если она уже была посещена, пропустите ее. В противном случае отметьте ее как посещенную и запишите в порядке обхода.
  3. Добавьте в стек ее непосещенных соседей. Чтобы посетить их в порядке возрастания, добавляйте их от большего к меньшему, чтобы первым был извлечен самый маленький.
  4. Повторяйте, пока стек не станет пустым.

Пример на вершинах 0..3 с ребрами [0,1, 0,2, 1,3, 2,3], начиная с 0:

  • Посетите 0, затем его наименьшего соседа 1, затем соседа 1 — 3, затем соседа 3 — 2.
  • Порядок обхода: [0, 1, 3, 2].

Посещаются только те вершины, которые достижимы из начальной.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

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

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