Question: ` ` ` Performs a breadth - first search starting from the start _ node and returns the first node with the given
Performs a breadthfirst search starting from the startnode and returns the first node with the given targetvalue,
or None if no such node is found."""
def bfsself startnode, targetvalue:
if not self.head:
return None
queue None
visited None
start self.findnodestartnode
if not start:
return None
queue Nodestartdata
visited Nodestartdata
while queue:
node queue
queue queue.next
if node.data targetvalue:
return node
edge self.findnodenodedataedges
while edge:
if not self.isvisitedvisited edge.data.data:
visited Nodeedgedata.data, visited
newnode Nodeedgedata.data
newnode.next queue
queue newnode
edge edge.next
return None
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
