0% found this document useful (0 votes)
14 views3 pages

2 DFS 17 01 2024

The document discusses Depth First Search (DFS) algorithm which traverses a graph in a depth-first manner using a stack. It employs three rules: visit adjacent unvisited vertices, pop vertices without adjacent vertices, and repeat until the stack is empty.

Uploaded by

dummyfr07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

2 DFS 17 01 2024

The document discusses Depth First Search (DFS) algorithm which traverses a graph in a depth-first manner using a stack. It employs three rules: visit adjacent unvisited vertices, pop vertices without adjacent vertices, and repeat until the stack is empty.

Uploaded by

dummyfr07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Depth First Search (DFS)

Depth First Search (DFS) algorithm traverses a graph in a depth ward motion
and uses a stack to remember to get the next vertex to start a search, when a
dead end occurs in any iteration.

As in the example given above, DFS algorithm traverses from S to A to D to G


to E to B first, then to F and lastly to C. It employs the following rules.

 Rule 1 − Visit the adjacent unvisited vertex. Mark it as visited. Display it.
Push it in a stack.
 Rule 2 − If no adjacent vertex is found, pop up a vertex from the stack.
(It will pop up all the vertices from the stack, which do not have adjacent
vertices.)
 Rule 3 − Repeat Rule 1 and Rule 2 until the stack is empty.
Step Traversal Description
1 Initialize the stack.

Mark S as visited and


put it onto the stack.
Explore any unvisited
adjacent node from S.
2 We have three nodes
and we can pick any of
them. For this example,
we shall take the node in
an alphabetical order.

Mark A as visited and


put it onto the stack.
Explore any unvisited
adjacent node from A.
3
Both S and D are
adjacent to A but we are
concerned for unvisited
nodes only.

Visit D and mark it as


visited and put onto the
stack. Here, we
have B and C nodes,
4 which are adjacent
to D and both are
unvisited. However, we
shall again choose in an
alphabetical order.
We choose B, mark it as
visited and put onto the
stack. Here B does not
5
have any unvisited
adjacent node. So, we
pop B from the stack.

We check the stack top


for return to the
previous node and check
6 if it has any unvisited
nodes. Here, we
find D to be on the top
of the stack.

Only unvisited adjacent


node is
from D is C now. So we
7
visit C, mark it as
visited and put it onto
the stack.

As C does not have any unvisited adjacent node so we keep popping the stack
until we find a node that has an unvisited adjacent node. In this case, there's
none and we keep popping until the stack is empty.

You might also like