diff --git a/Graphs/Deep_First_Search.py b/Graphs/Deep_First_Search.py new file mode 100644 index 000000000..d34601003 --- /dev/null +++ b/Graphs/Deep_First_Search.py @@ -0,0 +1,35 @@ +class Graph: + + def __init__(self, vertex): + self.vertex = vertex + self.graph = [[0] * vertex for i in range(vertex) ] + self.visited = [False] * vertex + + def add_edge(self, u, v): + self.graph[u - 1][v - 1] = 1 + self.graph[v - 1][u - 1] = 1 + + def show(self): + + for i in self.graph: + for j in i: + print(j, end=' ') + print(' ') + + + def dfs(self, u): + self.visited[u - 1] = True + print('%d visited' % u) + for i in range(1, self.vertex + 1): + if self.graph[u - 1][i - 1] == 1 and self.visited[i - 1] == False: + self.dfs(i) + + +g = Graph(5) + +g.add_edge(1,4) +g.add_edge(4,2) +g.add_edge(4,5) +g.add_edge(2,5) +g.add_edge(5,3) +print(g.dfs(1)) diff --git a/Graphs/Graph_list.py b/Graphs/Graph_list.py new file mode 100644 index 000000000..cb380bb31 --- /dev/null +++ b/Graphs/Graph_list.py @@ -0,0 +1,27 @@ +class Graph: + def __init__(self, vertex): + self.vertex = vertex + self.graph = [[0] for i in range(vertex)] + + def add_edge(self, u, v): + self.graph[u - 1].append(v - 1) + + def show(self): + for i in range(self.vertex): + print('%d: '% (i + 1), end=' ') + for j in self.graph[i]: + print('%d-> '% (j + 1), end=' ') + print(' ') + + + +g = Graph(5) + +g.add_edge(1,3) +g.add_edge(2,3) +g.add_edge(3,4) +g.add_edge(3,5) +g.add_edge(4,5) + +g.show() + diff --git a/Graphs/Graph_matrix.py b/Graphs/Graph_matrix.py new file mode 100644 index 000000000..0141d2be8 --- /dev/null +++ b/Graphs/Graph_matrix.py @@ -0,0 +1,30 @@ +class Graph: + + def __init__(self, vertex): + self.vertex = vertex + self.graph = [[0] * vertex for i in range(vertex) ] + + def add_edge(self, u, v): + self.graph[u - 1][v - 1] = 1 + self.graph[v - 1][u - 1] = 1 + + def show(self): + + for i in self.graph: + for j in i: + print(j, end=' ') + print(' ') + + + + +g = Graph(5) + +g.add_edge(1,3) +g.add_edge(2,3) +g.add_edge(3,4) +g.add_edge(3,5) +g.add_edge(4,5) + +g.show() +