Untitled
unknown
python
2 years ago
1.2 kB
16
Indexable
from collections import defaultdict
class Graph:
def __init__(self):
self._graph_instance = defaultdict(list)
def add_edge(self, source, target):
self._graph_instance[source].append(target)
def is_node_visited(self, node, visited_nodes):
visited_nodes.add(node)
print(node, end=' ')
for neighbour in self._graph_instance[node]:
if neighbour not in visited_nodes:
self.is_node_visited(neighbour, visited_nodes)
def depth_first_search(self, node):
visited_nodes = set()
self.is_node_visited(node, visited_nodes)
def breadth_first_search(self, node):
print("Oops, not yet implemented")
if __name__ == "__main__":
graph = Graph()
graph.add_edge(0, 1)
graph.add_edge(0, 2)
graph.add_edge(1, 2)
graph.add_edge(2, 0)
graph.add_edge(2, 3)
graph.add_edge(2, 4)
graph.add_edge(3, 2)
graph.add_edge(3, 4)
print("Following is depth first search starting from given vertex")
graph.depth_first_search(2)
print("\nFollowing is the breadth first search starting from given vertex:")
graph.breadth_first_search(2)Editor is loading...