1. from pythonds.graphs import Graph, Vertex
2. from pythonds.basic import Queue
3. def bfs(g, start):
4. start.setDistance(0)
5. start.setPred(None)
6. vertQueue = Queue()
7. vertQueue.enqueue(start)
8. while (vertQueue.size() > 0):
9. currentVert = vertQueue.dequeue()
10. for nbr in currentVert.getConnections():
11. if (nbr.getColor() == 'white'):
12. nbr.setColor('gray')
13. nbr.setDistance(currentVert.getDistance() + 1)
14. nbr.setPred(currentVert)
15. vertQueue.enqueue(nbr)
16. currentVert.setColor('black')
07-26
2444
07-02
3406