BreadthFirst Search BFS http cs jhu eduarjunafilesBFSnDFS pptx
Breadth-First Search (BFS) http: //cs. jhu. edu/~arjuna/files/BFS_n_DFS. pptx
Depth-First Search (DFS) http: //cs. jhu. edu/~arjuna/files/BFS_n_DFS. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
BFS vs. DFS slazebni. cs. illinois. edu/fall 17/lec 05_uninformed_search. pptx
Graph Traversal • 25 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
Breadth First Search (BFS) • 26 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 1 2 3 4 6 9 7 5 11 12 10 8 13 27 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 23 2 3 4 6 9 7 5 11 12 10 8 13 28 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 34 2 3 4 6 9 7 5 11 12 10 8 13 29 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 4567 2 3 4 6 9 7 5 11 12 10 8 13 30 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 56789 2 3 4 6 9 7 5 11 12 10 8 13 31 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 7 8 9 10 2 3 4 6 9 7 5 11 12 10 8 13 32 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 8 9 10 11 2 3 4 6 9 7 5 11 12 10 8 13 33 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 9 10 11 12 13 2 3 4 6 9 7 5 11 12 10 8 13 34 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS(1) 1 Queue: 2 3 4 6 9 7 5 11 12 10 8 13 35 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS Application: Shortest Paths BFS Tree gives shortest paths from 1 to all vertices 0 1 2 3 1 6 2 4 9 7 5 11 12 3 10 4 8 13 36 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
BFS Application: Shortest Paths BFS Tree gives shortest paths from 1 to all vertices 3 2 9 8 1 6 5 4 0 1 10 7 11 2 3 4 12 13 37 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-4. pptx
Depth First Search Follow the first path you find as far as you can go; back up to last unexplored edge when you reach a dead end, then go as far you can Naturally implemented using recursive calls or a stack 38 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Suppose edge lists at each vertex are sorted alphabetically Call Stack (Edge list): J B A (B, J) C D E G H F I K L M st[] = {1} 39 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C D E G H F I K L M st[] = {1, 2} 40 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) C, 3 D E G H F I K L M st[] = {1, 2, 3} 41 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) C, 3 D, 4 E G H F I K L M st[] = {1, 2, 3, 4} 42 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) C, 3 D, 4 E, 5 G H F I K L M st[] = {1, 2, 3, 4, 5} 43 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) F (D, E, G) C, 3 D, 4 E, 5 G H F, 6 I K L M st[] = {1, 2, 3, 4, 5, 6} 44 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) F (D, E, G) G (C, F) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3, 4, 5, 6, 7} 45 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) F (D, E, G) G (C, F) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3, 4, 5, 6, 7} 46 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) F (D, E, G) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3, 4, 5, 6} 47 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) E (D, F) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3, 4, 5} 48 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) D (C, E, F) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3, 4} 49 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) C, 3 D, 4 E, 5 G, 7 H F, 6 I K L M st[] = {1, 2, 3} 50 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I K L M st[] = {1, 2, 3, 8} 51 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) I (H) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K L M st[] = {1, 2, 3, 8, 9} 52 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K L M st[] = {1, 2, 3, 8} 53 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Color code: undiscovered fully-explored DFS(A) A, 1 Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K L M st[] = {1, 2, 3, 8, 10} 54 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) K (J, L) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L M st[] = {1, 2, 3, 8, 10 , 11} 55 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) K (J, L) L (J, K, M) st[] = {1, 2, 3, 8, 10 , 11, 12} 56 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 57 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) K (J, L) L (J, K, M) M(L) st[] = {1, 2, 3, 8, 10 , 11, 12, 13} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 58 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) K (J, L) L (J, K, M) st[] = {1, 2, 3, 8, 10 , 11, 12} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 59 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) K (J, L) st[] = {1, 2, 3, 8, 10 , 11} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 60 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) st[] = {1, 2, 3, 8, 10} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 61 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) J (A, B, H, K, L) st[] = {1, 2, 3, 8, 10} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C (B, D, G, H) H (C, I, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 62 st[] = {1, 2, 3, 8} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C (B, D, G, H) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 63 st[] = {1, 2, 3} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 64 st[] = {1, 2} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) B (A, C, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 65 st[] = {1, 2} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 66 st[] = {1} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 A (B, J) C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 67 st[] = {1} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Color code: undiscovered fully-explored Call Stack: (Edge list) J, 10 B, 2 TA-DA!! C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 68 st[] = {} https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 Edge code: Tree edge Back edge J, 10 B, 2 C, 3 D, 4 E, 5 G, 7 H, 8 F, 6 I, 9 K, 11 L, 12 M, 13 69 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
DFS(A) A, 1 B, 2 Edge code: Tree edge Back edge C, 3 H, 8 D, 4 J, 10 E, 5 I, 9 K, 11 F, 6 L, 12 G, 7 M, 70 13 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
Properties of (undirected) DFS • 71 https: //courses. cs. washington. edu/courses/cse 421/18 sp/lecture-5. pptx
- Slides: 71