File tree Expand file tree Collapse file tree 4 files changed +135
-0
lines changed Expand file tree Collapse file tree 4 files changed +135
-0
lines changed Original file line number Diff line number Diff line change
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)
Original file line number Diff line number Diff line change
1
+ class Graph:
2
+
3
+ def __init__(self, vertex):
4
+ self.vertex = vertex
5
+ self.graph = [[0] * vertex for i in range(vertex) ]
6
+ self.visited = [False] * vertex
7
+
8
+ def add_edge(self, u, v):
9
+ self.graph[u - 1][v - 1] = 1
10
+ self.graph[v - 1][u - 1] = 1
11
+ def show(self):
12
+
13
+ for i in self.graph:
14
+ for j in i:
15
+ print(j, end=' ')
16
+ print(' ')
17
+
18
+
19
+ def dfs(self, u):
20
+ self.visited[u - 1] = True
21
+ print('%d visited' % u)
22
+ for i in range(1, self.vertex + 1):
23
+ if self.graph[u - 1][i - 1] == 1 and self.visited[i - 1] == False:
24
+ self.dfs(i)
25
+
26
+
27
+ g = Graph(5)
28
+ g.add_edge(1,4)
29
+ g.add_edge(4,2)
30
+ g.add_edge(4,5)
31
+ g.add_edge(2,5)
32
+ g.add_edge(5,3)
33
+ g.dfs(1)
Original file line number Diff line number Diff line change
1
+ class Graph:
2
+ def __init__(self, vertex):
3
+ self.vertex = vertex
4
+ self.graph = [[0] for i in range(vertex)]
5
+
6
+ def add_edge(self, u, v):
7
+ self.graph[u - 1].append(v - 1)
8
+
9
+ def show(self):
10
+ for i in range(self.vertex):
11
+ print('%d: '% (i + 1), end=' ')
12
+ for j in self.graph[i]:
13
+ print('%d-> '% (j + 1), end=' ')
14
+ print(' ')
15
+
16
+
17
+
18
+ g = Graph(5)
19
+
20
+ g.add_edge(1,3)
21
+ g.add_edge(2,3)
22
+ g.add_edge(3,4)
23
+ g.add_edge(3,5)
24
+ g.add_edge(4,5)
25
+
26
+ g.show()
27
+
Original file line number Diff line number Diff line change
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
+
18
+
19
+
20
+
21
+ g = Graph(5)
22
+
23
+ g.add_edge(1,3)
24
+ g.add_edge(2,3)
25
+ g.add_edge(3,4)
26
+ g.add_edge(3,5)
27
+ g.add_edge(4,5)
28
+
29
+ g.show()
30
+
You can’t perform that action at this time.
0 commit comments