Для этой программы мне дан набор входных данных, которые мне нужно сохранить в матрице смежности. Я сделал это, поэтому у меня есть матрица смежности Matrix[11][11]. Теперь, используя эту матрицу, мне нужно выполнить поиск в глубину и вернуть значения числа пи.
У меня есть псевдокод для этого, поэтому я считаю, что мне нужны два метода: DFS (граф) и DFS-VISIT (узел). Однако у меня возникли проблемы с реализацией этого. Могу ли я сделать это, используя матрицу смежности напрямую, или мне как-то нужно создать график с использованием матрицы? Любая помощь с фактическим кодированием будет оценена по достоинству.
DFS(G)
for each u ∈ V[G] do
color[u] = WHITE
∏[u] = NIL
time = 0
for each u ∈ V[G] do
if color[u] = WHITE then
DFS-VISIT(u)
DFS-VISIT(u)
color[u] = GRAY
time++
d[u] = time
for each v ∈ Adj[u] do
if color[v] = WHITE then
∏[v] = u
DFS-VISIT(v)
color[u] = BLACK
time++
f[u] = time
bool
длиныn
, гдеn
— количество вершин. Кроме того, существует массив∏
, в котором хранятся родительские элементы в дереве DFS (узел, из которого посещается узел), и массивf
для отслеживания последовательности посещения узлов. - person Codor   schedule 17.04.2014