Я пытаюсь понять глубину первого поиска. Не знаю, правильно ли я

125
14

http://i.stack.imgur.com/sEJKz.png

На изображении показан график. Является ли это правильной глубиной первого обхода? Или у меня есть идея совершенно не так? Моему пониманию dfs дана начальная точка, вы смотрите на все соседние узлы. Затем произвольно выберите один и "посетите" этот узел рекурсивно. Начиная с v, я выбрал узел 2, чтобы перейти к следующему. Цифры от 1 до 8 показывают путь.

Edit: Кажется, я смешал цифры 2 и 3! Они должны быть заменены.

Изображение 2: http://i.stack.imgur.com/KdWl6.png

спросил(а) 2021-01-26T02:04:33+03:00 4 месяца, 4 недели назад
1
Решение
77

То, что вы показываете, является правильным вариантом поиска DFS. DFS посещает рекурсивно, как вы сказали, отмечая узлы, которые он уже посетил. Когда он достигает точки, где он не может переписываться на невидимый узел, он будет возвращаться до тех пор, пока не будет такой точки, или поиск прекратится, потому что все узлы отмечены как посещенные.

В вашем случае он посещает 1, 2 и 3. В 3 он возвращается к 2, затем продолжается до 4, 5, 6, 7, 8. Затем он будет отступать, но все узлы посещаются, поэтому поиск завершается с помощью этого выездной заказ.

Узел, помеченный 3 в этом случае, также мог бы быть 2 или 8. Например, DFS могла бы исчезнуть (используя метки из вашей фигуры): 1, 2, 4, 5, 6, 7, 8, backtrack to 2, 3, завершение.

ответил(а) 2021-01-26T02:04:33+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема