Bfsdfs
Bfsdfs
E X K
P G A R
D T H M
L1
B C D
L2
E F
L1
L2
L3
L1
B C D
L2 E F
L1
2 3 4
L2 5 6
L1
B C D
L2 E F
L1
4 3 2
L2 6 5
E F
A B C D E F
A 0 1 1 1 0 0
B 1 0 0 0 0 0
C 1 0 0 0 1 1
D 1 0 0 0 0 1
E 0 0 1 0 0 0
F 0 0 1 1 0 0
B C D
E F Enqueue means to
put something at the
end of the line.
Enqueue the root A.
Queue: A
DEQUEUE!
(take a node out of the queue)
B C D
E F
Queue: A
Dequeue A Queue:
ENQUEUE THE
NEW NEIGHBORS!
(put the nodes into the queue)
B C D
E F
L1
B C D
E F
E F
Queue: B C D
Dequeue B Queue: C D
E F
There are none!
Enqueue new neighbors of B.
Queue: C D
E F
Queue: C D
Dequeue C Queue: D
L2
E F
L2
E F
Queue: D E F
Dequeue D Queue: E F
L2
E F
F is already visited!
Enqueue new neighbors of D.
Queue: E F
Queue: E F
Dequeue E Queue: F
Queue: F
Dequeue F Queue:
B C D
E F
B C D
E F
2 3 6
4 5
B C D
E F
6 4 2
5 3
B C D
A
E F
Let’s start at A!
Push the root A onto the stack.
POP A NODE
OFF THE STACK!
B C D
A
E F
B C D
E F
B C D
D
C
B
E F
B C D
D
C
B
E F
B C D
F
C
B
E F
B C D
F
C
B
E F
B C D
C
B
E F
C is already visited!
B C D
C
B
E F
B C D
E
B
E F
B C D
E
B
E F
B C D
B
E F
There are none!
B C D
B
E F
B C D
E F
There are none!
B C D
E F
B C D
Did you find it strange that
although we pushed in the E F
neighbors from left to right (e.g. B,
C, D), the order of the search that ADFCEB
we got back starts on the right?
1
4
Stack Stack 3 Stack 5
2 6 6
7 7 7
Pop off __1_. 8 Pop off __2_. 8 Pop off __3_. 8
11
Pop off _10_. 12 Pop off _11_. 12 Pop off _12_.
L1
B C D B C D
L2
E F E F
BFS DFS
ABCDEF ADFCEB
DFS
Maze Problem