Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alyce Brady CS 510: Computer Algorithms Breadth-First Graph Traversal Algorithm.

Similar presentations


Presentation on theme: "Alyce Brady CS 510: Computer Algorithms Breadth-First Graph Traversal Algorithm."— Presentation transcript:

1 Alyce Brady CS 510: Computer Algorithms Breadth-First Graph Traversal Algorithm

2 Search vs Traversal Search: Look for a given node Search: Look for a given node –stop when node found, even if not all nodes were visited Traversal: Always visit all nodes Traversal: Always visit all nodes

3 Breadth-first Search Similar to Breadth-first Traversal of a Binary Tree Similar to Breadth-first Traversal of a Binary Tree Choose a starting vertex Choose a starting vertex Search all adjacent vertices Search all adjacent vertices Return to each adjacent vertex in turn and visit all of its adjacent vertices Return to each adjacent vertex in turn and visit all of its adjacent vertices

4 Pseudo-Code for Breadth-First Search breadth-first-search mark starting vertex as visited; put on queue while the queue is not empty dequeue the next node for all unvisited vertices adjacent to this one –mark vertex as visited –add vertex to queue

5 Breadth-First Search A BC DEFG Queue: Current:

6 Breadth-First Search A BC DEFG Queue: Current: A v

7 Breadth-First Search A BC DEFG Queue: Current: A A v

8 Breadth-First Search A BC DEFG Queue: Current: A A A v

9 Breadth-First Search A BC DEFG Queue: Current: B A A A v v

10 Breadth-First Search A BC DEFG Queue: Current: CBCB A A A v v v

11 Breadth-First Search A BC DEFG Queue: Current: B A A CBCB v v v

12 Breadth-First Search A BC DEFG Queue: Current: B C A B v v v

13 Breadth-First Search A BC DEFG Queue: Current: B C A B v v v

14 Breadth-First Search A BC DEFG Queue: Current: DCDC B A B v v v v

15 Breadth-First Search A BC DEFG Queue: Current: EDCEDC B A B v v v v v

16 Breadth-First Search A BC DEFG A B v Queue: Current: B FEDCFEDC v v v v v

17 Breadth-First Search A BC DEFG A B v v Queue: Current: C FEDCFEDC v v v v

18 Breadth-First Search A BC DEFG Queue: A B C FEDFED v v v v v v Current: C

19 Breadth-First Search A BC DEFG Queue: A B C FEDFED v v v v v v Current: C

20 Breadth-First Search A BC DEFG Queue: A B C FEDFED v v v v v v Current: C

21 Breadth-First Search A BC DEFG Queue: Current: C A B C GFEDGFED v v v v v v v

22 Breadth-First Search A BC DEFG Queue: Current: D A B C GFEDGFED v v v v v v v

23 A B C D Breadth-First Search A BC DEFG Queue: Current: D GFEGFE v v v v v v v

24 A B C D Breadth-First Search A BC DEFG Queue: Current: D GFEGFE v v v v v v v

25 A B C D Breadth-First Search A BC DEFG Queue: Current: D GFEGFE v v v v v v v

26 Breadth-First Search A BC DEFG A B C D Queue: Current: E GFEGFE v v v v v v v

27 Breadth-First Search A BC DEFG Queue: Current: E GFGF A B C D E v v v v v v v

28 Breadth-First Search A BC DEFG Queue: Current: E GFGF A B C D E v v v v v v v

29 Breadth-First Search A BC DEFG Queue: Current: E GFGF A B C D E v v v v v v v

30 Breadth-First Search A BC DEFG Queue: Current: F GFGF A B C D E v v v v v v v

31 Breadth-First Search A BC DEFG Queue: Current: F G A B C D E F v v v v v v v

32 Breadth-First Search A BC DEFG Queue: Current: F G A B C D E F v v v v v v v

33 Breadth-First Search A BC DEFG Queue: Current: F G A B C D E F v v v v v v v

34 Breadth-First Search A BC DEFG Queue: Current: G G A B C D E F v v v v v v v

35 Breadth-First Search A BC DEFG Queue: Current: G A B C D E F G v v v v v v v

36 Breadth-First Search A BC DEFG Queue: Current: G A B C D E F G v v v v v v v

37 Breadth-First Search A BC DEFG A B C D E F G

38 Was this a true search? Was this a true search? –How would we make it a true search? Was this a true traversal? Was this a true traversal? –How would we make it a true traversal?

39 Time and Space Complexity for Breadth-First Search Time Complexity Time Complexity –Adjacency Lists Each node is added to queue once Each node is added to queue once Each node is checked for each incoming edge Each node is checked for each incoming edge O (v + e) O (v + e) –Adjacency Matrix Have to check all entries in matrix: O(n 2 ) Have to check all entries in matrix: O(n 2 )

40 Space Complexity Space Complexity –Queue to handle unexplored nodes Worst case: all nodes put on queue (if all are adjacent to first node) Worst case: all nodes put on queue (if all are adjacent to first node) O(n) O(n) Time and Space Complexity for Breadth-First Search


Download ppt "Alyce Brady CS 510: Computer Algorithms Breadth-First Graph Traversal Algorithm."

Similar presentations


Ads by Google