Untitled
unknown
python
a year ago
1.2 kB
13
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...