BREADTH FIRST SEARCH
1
2
Breadth First Search
s
2
5
4
7
8
3 6 9
3
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: s
Top of queue
2
1Shortest pathfrom s
4
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: s 2
Top of queue
3
1
1
5
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: s 2 3
Top of queue
5
1
1
1
6
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 2 3 5
Top of queue
1
1
1
7
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 2 3 5
Top of queue
4
1
1
1
2
8
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 2 3 5 4
Top of queue
1
1
1
2
5 already discovered:don't enqueue
9
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 2 3 5 4
Top of queue
1
1
1
2
10
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 3 5 4
Top of queue
1
1
1
2
11
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 3 5 4
Top of queue
1
1
1
2
6
2
12
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 3 5 4 6
Top of queue
1
1
1
2
2
13
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 5 4 6
Top of queue
1
1
1
2
2
14
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 5 4 6
Top of queue
1
1
1
2
2
15
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 4 6
Top of queue
1
1
1
2
2
16
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 4 6
Top of queue
1
1
1
2
2
8
3
17
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 4 6 8
Top of queue
1
1
1
2
2
3
18
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 6 8
Top of queue
1
1
1
2
2
3
7
3
19
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 6 8 7
Top of queue
1
1
1
2
2
3
9
3
3
20
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 6 8 7 9
Top of queue
1
1
1
2
2
3
3
3
21
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 8 7 9
Top of queue
1
1
1
2
2
3
3
3
22
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 7 9
Top of queue
1
1
1
2
2
3
3
3
23
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 7 9
Top of queue
1
1
1
2
2
3
3
3
24
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 7 9
Top of queue
1
1
1
2
2
3
3
3
25
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 7 9
Top of queue
1
1
1
2
2
3
3
3
26
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 9
Top of queue
1
1
1
2
2
3
3
3
27
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 9
Top of queue
1
1
1
2
2
3
3
3
28
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue: 9
Top of queue
1
1
1
2
2
3
3
3
29
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Undiscovered
Discovered
Finished
Queue:
Top of queue
1
1
1
2
2
3
3
3
30
Breadth First Search
s
2
5
4
7
8
3 6 9
0
Level Graph
1
1
1
2
2
3
3
3
DEPTH FIRST SEARCH
31
32
Directed Depth First Search
Adjacency Lists
A: F GB: A HC: A DD: C FE: C D GF: E:G: :H: B:I: H:
F
A
B C G
D
E
H
I
33
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
34
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
visit(F)
F-E
35
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
36
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
37
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
38
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
dfs(D)
D-C D-F
39
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
dfs(D)
D-C D-F
40
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
dfs(D)
D-C D-F
41
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(C)
C-A C-D
42
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
43
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
44
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
dfs(G)
45
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
dfs(E)
E-C E-D E-G
46
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
dfs(F)
F-E
47
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
48
Directed Depth First Search
F
A
B C G
D
E
H
I
dfs(A)
A-F A-G
Function call stack:
49
Directed Depth First Search
F
A
B C G
D
E
H
I
Nodes reachable from A: A, C, D, E, F, G