Skip to content

Commit 285720f

Browse files
committed
Graph, Deep First Search, Graph with Matrix, Graph with List
1 parent 1ce58ef commit 285720f

File tree

3 files changed

+92
-0
lines changed

3 files changed

+92
-0
lines changed

Graphs/Deep_First_Search.py

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
12+
def show(self):
13+
14+
for i in self.graph:
15+
for j in i:
16+
print(j, end=' ')
17+
print(' ')
18+
19+
20+
def dfs(self, u):
21+
self.visited[u - 1] = True
22+
print('%d visited' % u)
23+
for i in range(1, self.vertex + 1):
24+
if self.graph[u - 1][i - 1] == 1 and self.visited[i - 1] == False:
25+
self.dfs(i)
26+
27+
28+
g = Graph(5)
29+
30+
g.add_edge(1,4)
31+
g.add_edge(4,2)
32+
g.add_edge(4,5)
33+
g.add_edge(2,5)
34+
g.add_edge(5,3)
35+
print(g.dfs(1))

Graphs/Graph_list.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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+

Graphs/Graph_matrix.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+

0 commit comments

Comments
 (0)