Skip to content

Commit 494e7f5

Browse files
committed
Breadth_First_Search
1 parent 285720f commit 494e7f5

File tree

2 files changed

+46
-3
lines changed

2 files changed

+46
-3
lines changed

Graphs/Breadth_First_Search.py

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
class Graph:
2+
3+
def __init__(self, vertex):
4+
self.vertex = vertex
5+
self.graph = [[0] * vertex for i in range(vertex) ]
6+
7+
def add_edge(self, u, v):
8+
self.graph[u - 1][v - 1] = 1
9+
self.graph[v - 1][u - 1] = 1
10+
11+
def show(self):
12+
13+
for i in self.graph:
14+
for j in i:
15+
print(j, end=' ')
16+
print(' ')
17+
def bfs(self,v):
18+
19+
visited = [False]*self.vertex
20+
visited[v - 1] = True
21+
print('%d visited' % (v))
22+
23+
queue = [v - 1]
24+
while len(queue) > 0:
25+
v = queue[0]
26+
for u in range(self.vertex):
27+
if self.graph[v][u] == 1:
28+
if visited[u]== False:
29+
visited[u] = True
30+
queue.append(u)
31+
print('%d visited' % (u +1))
32+
queue.pop(0)
33+
34+
g = Graph(10)
35+
36+
g.add_edge(1,2)
37+
g.add_edge(1,3)
38+
g.add_edge(1,4)
39+
g.add_edge(2,5)
40+
g.add_edge(3,6)
41+
g.add_edge(3,7)
42+
g.add_edge(4,8)
43+
g.add_edge(5,9)
44+
g.add_edge(6,10)
45+
g.bfs(1)

Graphs/Deep_First_Search.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ def __init__(self, vertex):
88
def add_edge(self, u, v):
99
self.graph[u - 1][v - 1] = 1
1010
self.graph[v - 1][u - 1] = 1
11-
1211
def show(self):
1312

1413
for i in self.graph:
@@ -26,10 +25,9 @@ def dfs(self, u):
2625

2726

2827
g = Graph(5)
29-
3028
g.add_edge(1,4)
3129
g.add_edge(4,2)
3230
g.add_edge(4,5)
3331
g.add_edge(2,5)
3432
g.add_edge(5,3)
35-
print(g.dfs(1))
33+
g.dfs(1)

0 commit comments

Comments
 (0)