From 6f17e9bf3cf6f8f6c650c1d78df96509865f08af Mon Sep 17 00:00:00 2001 From: Ghada AbdulWahab Date: Thu, 14 Apr 2022 02:15:46 +0200 Subject: [PATCH] adding Depth-first search using python --- .../Python/searching/Depth-first search.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 algorithms/Python/searching/Depth-first search.py diff --git a/algorithms/Python/searching/Depth-first search.py b/algorithms/Python/searching/Depth-first search.py new file mode 100644 index 00000000..945c4f4c --- /dev/null +++ b/algorithms/Python/searching/Depth-first search.py @@ -0,0 +1,32 @@ +# this graph to check the algorithm +graph={ + 'S':['B','D','A'], + 'A':['C'], + 'B':['D'], + 'C':['G','D'], + 'S':['G'], +} +#function of DFS +def BFS(graph,start,goal): + Visited=[] + queue=[[start]] + while queue: + path=queue.pop() + node=path[-1] + if node in Visited: + continue + Visited.append(node) + if node==goal: + return path + else: + adjecent_nodes=graph.get(node,[]) + for node2 in adjecent_nodes: + new_path=path.copy() + new_path.append(node2) + queue.append(new_path) + + + + +Solution=BFS(graph,'S','G') +print('Solution is ',Solution) \ No newline at end of file