Я студент, в настоящее время изучаю DFS и BFS для графиков. Во время онлайн-лабораторной работы по курсу я наткнулся на вопрос

«После завершения BFS, начиная с вершины 5, родительским отношением (массивом) будет [_, _, _, _, _, _]»

Рассматриваемый график записывается как:

U 6
0 4
5 4
4 2
2 3
3 0
3 4

Полученный ответ (который я в конце концов нашел путем догадок и проверки) был:
[4, Нет, 4, 4, 5, Нет]

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

1
quantummidget 1 Мар 2018 в 04:41

1 ответ

Лучший ответ

Каждый пробел в родительском массиве представляет каждую вершину. В приведенном выше примере, когда исходная вершина равна 5, родительской вершиной для вершин 0,2,3 является вершина 4, поэтому точки 0, 2 и 3 в родительском массиве имеют назначенное им значение 4. Точно так же вершина 4 имеет 5 в качестве родителя, поэтому массив следует этому примеру. Наконец, вершины 1 и 5 не имеют родителя, 1 потому что он отключен от графа, а 5 потому что в данном случае он является источником. Поэтому эти вершины помечаются в массиве как «Нет». Надеюсь, это поможет любому, кто столкнется с той же проблемой.

3
quantummidget 2 Мар 2018 в 03:28