bfs
Code for BFSunknown
python
a year ago
1.3 kB
5
Indexable
from graph import Graph # importing the Graph class from the file I named "graph.py" class Queue: def __int__(self): self.items = [] def __repr__(self): print(self.items) def is_empty(self): return len(self.items) == 0 def enqueue(self, item): self.items.insert(0, item) def dequeue(self): if not self.is_empty(): return self.items.pop() else: return "Queue is empty" def size(self): return len(self.items) def bfs(graph, start_vertex): visited = set() queue = Queue() queue.enqueue(start_vertex) while not queue.is_empty(): current = queue.dequeue() if current not in visited: print(current, end=" ") visited.add(current) for neighbour in graph.graph[current]: if neighbour not in visited: queue.enqueue(neighbour) # print(visited) g = Graph() g.add_vertex('A') g.add_vertex('B') g.add_vertex('C') g.add_vertex('D') g.add_vertex('E') g.add_vertex('F') g.add_vertex('G') g.add_vertex('H') g.add_vertex('I') g.add_edge('A', 'E') g.add_edge('A', 'C') g.add_edge('E', 'H') g.add_edge('H', 'I') g.add_edge('C', 'D') g.add_edge('D', 'E') g.add_edge('C', 'G') g.add_edge('G', 'F') g.add_edge('F', 'B') bfs(g, start_vertex='A')
Editor is loading...
Leave a Comment