def traverseBFS(self,source): path = '' for key, vertex in self.vertexList.items(): vertex.visit = None vertex.dist = float('inf') vertex.predecessor = None self.vertexList[source].visit = False self.vertexList[source].dist = 0 self.vertexList[source].predecessor = None bfsQ = Queue() bfsQ.enQueue(self.vertexList[source]) curVertex = bfsQ.deQueue() while curVertex: for vertex in curVertex.next: if vertex.visit == None: vertex.visit = False vertex.dist = curVertex.dist+1 vertex.predecessor = curVertex bfsQ.enQueue(vertex) curVertex.visit = True path+= ('Vertex %s, Distance: %s\n'%(curVertex.name,curVertex.dist)) curVertex = bfsQ.deQueue() return path
from Queue_head import Queue from Stack import Stack myQ = Queue() myS = Stack() for data in [1,2,3,4,5]: myQ.enQueue(data) myS.push(data) print("Queue:") print(myQ) print("\nStack: ") print(myS) print("Removing first element: ") print("Queue returned: %s"%myQ.deQueue()) print("Stack returned: %s"%myS.pop()) print("\nQueue:") print(myQ) print("\nStack: ") print(myS) print("Adding a 6 element:") myQ.enQueue(6) myS.push(6) print("\nQueue:")