BFS DFS
BFS DFS
And
Depth-First-Search
B C D
E F
Status=1(ready)
Status=2(waiting)
Status=3(processed)
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
A
OUTPUT
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
B C D
OUTPUT
A
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
C D E
OUTPUT
A B
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
D E F
OUTPUT
A B C
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
E F
OUTPUT
A B C D
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
F
OUTPUT
A B C D E
L0 A
L1 B C D
E F
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
A B C D E F
A
B C D
E F
B C D
E F G
I J
Stack
B C D
E F G
I J
A
Output
Stack
B C D
E F G
J
B
I
C
D
Output
A
Stack
B C D
E F G E
F
I J
C
D
Output
A B
Stack
B C D
E F G I
F
I J
C
D
Output
A B E
Stack
B C D
E F G
F
I J
C
D
Output
A B E I
Stack
B C D
E F G
J
I J
C
D
Output
A B E I F
Stack
B C D
E F G
I J
C
D
Output
A B E I F J
Stack
B C D
E F G
I J
D
Output
A B E I F J C
Stack
B C D
E F G
I J
Output G
A B E I F J C D
Stack
B C D
E F G
I J
Output
A B E I F J C D G
A
B C D
E F G
I J
Time complexity
Since in the worst case depth-first search has to consider all
paths to all possible nodes the time complexity of depth-first
search is O(bd).
Completeness
Depth-first search is not complete.
Optimality
Depth-first search is not optimal.
Applications of DFS
• Finding whether there exists a path between the given
vertices.
• Topological sorting.