Есть граф, связи в нем описаны словарем:
data2 = {
1: [2, 3],
2: [3, 4],
4: [1]
}
То есть: из первой вершины графа мы можем попасть во вторую и третью, из второй в третью и 4 , и из 4 в 1
Есть два алгоритма поиска, Depth-First Search (поиск в глубину) Breadth-First Search(в ширину),
для случая с графом ниже подходит решение (DFS) :
def dfs(d, start):
print(start)
for k in d.get(start, []):
dfs(d, k)
data = {
1: [2, 3],
2: [4]
}
Помогите с модификацией алгоритма поиска в глубину, или лучше использовать поиск в ширину?