Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8e812f4

Browse files
DFS Recursive Implementation
1 parent 272d04e commit 8e812f4

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

‎Data-Structures-and-Algorithms/Depth-First-Search.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,27 @@ def DFS(self, start_node):
4242
if cur in self.graph:
4343
for node in self.graph[cur]:
4444
if node not in visited:
45-
stack.append(node)
45+
stack.append(node)
46+
47+
# Recursive DFS
48+
49+
class Graph:
50+
def __init__(self):
51+
self.graph = {}
52+
53+
def insertEdge(self, v1, v2):
54+
if v1 in self.graph:
55+
self.graph[v1].append(v2)
56+
else:
57+
self.graph[v1] = [v2]
58+
59+
def DFS(self, start, visited = None):
60+
if visited is None:
61+
visited = set()
62+
visited.add(start)
63+
print(start, end = " ")
64+
if start in self.graph:
65+
for node in self.graph[start]:
66+
if node not in visited:
67+
self.DFS(node, visited)
68+
return visited

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /