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

Assignment 1 Ai Lp-Ii

The document outlines an assignment to implement Depth-First Search (DFS) and Breadth-First Search (BFS) algorithms using an undirected graph. It describes the BFS algorithm, its characteristics, time and space complexity, and provides a sample program demonstrating its implementation. The conclusion emphasizes the study and implementation of both algorithms using recursive functions.

Uploaded by

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

Assignment 1 Ai Lp-Ii

The document outlines an assignment to implement Depth-First Search (DFS) and Breadth-First Search (BFS) algorithms using an undirected graph. It describes the BFS algorithm, its characteristics, time and space complexity, and provides a sample program demonstrating its implementation. The conclusion emphasizes the study and implementation of both algorithms using recursive functions.

Uploaded by

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

Assignment 1

TITLE: Implement DFS and BFS Algorithm. Use and Undirected Graph and develop a Recursive
Algorithm for searching all the vertices of the graph or tree data structure.

AIM: Aim of this practical is to develop DFS and BFS algorithm programs in programming
language.

OBJECTIVES: Based on above main aim following are the objectives

1. To study BFS
2. To study DFS
3. To apply algorithmic logic in implementation of program.

1. Breadth-first Search:
• Breadth-first search is the most common search strategy for traversing a tree or graph. This
algorithm searches breadthwise in a tree or graph, so it is called breadth-first search.
• BFS algorithm starts searching from the root node of the tree and expands all successor node
at the current level before moving to nodes of next level.
• The breadth-first search algorithm is an example of a general-graph search algorithm.
• Breadth-first search implemented using FIFO queue data structure.
In the above tree structure, we have shown the traversing of the tree using BFS algorithm from the root
node S to goal node K. BFS search algorithm traverse in layers, so it will follow the path which is shown
by the dotted arrow, and the traversed path will be:

S---> A--->B---->C--->D---->G--->H--->E---->F---->I >K

• Time Complexity: Time Complexity of BFS algorithm can be obtained by the number of nodes
traversed in BFS until the shallowest Node. Where the d= depth of shallowest solution and b is a
node at every state.
• T (b) = 1+b2+b3+. + bd= O (bd)
• Space Complexity: Space complexity of BFS algorithm is given by the Memory size of frontier
which is O(bd).
• Completeness: BFS is complete, which means if the shallowest goal node is at some finite
depth, then BFS will find a solution.
• Optimality: BFS is optimal if path cost is a non-decreasing function of the depth of the node.

Algorithm:
1. Pick any node, visit the adjacent unvisited vertex, mark it as visited, display it, and
insert it in a queue.
2. If there are no remaining adjacent vertices left, remove the first vertex from the queue.
3. Repeat step 1 and step 2 until the queue is empty or the desired node is found.

Program:
graph = {

'A' : ['B','C'],

'B' : ['D', 'E'],

'C' : ['F'],

'D' : [],

'E' : ['F'],
'F' : []

visited = [] # List to keep track of visited nodes.


queue = [] #Initialize a queue

def bfs(visited, graph, node):


visited.append(node)
queue.append(node)
visited.append(neighbour)
queue.append(neighbour)

# Driver Code

print("Following is the Path using Breadth-First Search")


bfs(visited, graph, 'A')
Output:

Following is the Path using Breadth-First


Search A B C D E F

Conclusion: Thus we have studied BFS & DFS algorithm in detail and implemented using recursive
function.

You might also like