Итак, у меня есть матрица смежности размером N x N
для графа с N
узлами. Я хотел бы провести Поиск в глубину по этой матрице, чтобы определить, существует ли путь от узла Source
до узла Destination
или нет. Если он существует, я бы хотел напечатать путь.
В приведенном ниже псевдокоде используется матрица / график G
, чтобы найти все вершины, к которым можно получить доступ с начального узла v
. Как бы я изменил этот алгоритм, чтобы у меня было что-то похожее на это: procedure DFS(G,v,d)
, где d
- целевой узел, который я ищу?
procedure DFS(G,v):
label v as discovered
for all edges from v to w in G.adjacentEdges(v) do
if vertex w is not labeled as discovered then
recursively call DFS(G,w)
Кроме того, в качестве идентификатора, как бы я добавил возможность возвращать общий вес всех ребер для пути, который он обнаружил?