Question: Prompt - Implement a linked graph, which will store nodes and edges between nodes. After reading instructions, complete required steps. The linked graph should support

Prompt - Implement a linked graph, which will store nodes and edges between nodes.
After reading instructions, complete required steps. The linked graph should support the following operations:
add_node(value): Adds a new node to the linked graph, with the given value.
add_edge(node1, node2): Adds an edge between the two given nodes in the linked graph.
bfs(start_node, target_value): Performs a breadth-first search starting from the start_node and returns the first node with the given target_value, or None if no such node is found.
dfs(start_node, target_value): Performs a depth-first search starting from the start_node and returns the first node with the given target_value, or None if no such node is found.
Add the all_paths function to it. The all_paths function takes in three parameters: start_node, target_value, and path (with an optional default value of an empty list). It uses a recursive approach to find all the paths from the start_node to the node with the target_value.
It appends the current node to the path and checks if it has reached the target value. If so, it returns the current path as a list of nodes.
If not, it continues the search through the neighbors and appends all the resulting paths to the paths list.
Finally, it returns the paths list, which contains all the paths from the start_node to the target node.
You should implement the linked graph using the class LinkedGraph. The linked graph should store its nodes using a separate class Node.
Do not use any built-in data structures in Python, such as dictionaries, lists, or sets.
Lastly, test your implementation by creating a graph and performing various operations on them ( call functions) to ensure that the graph is working as expected.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!