Kortaste vägen III
Det här är den sista övningen i den här trion! Nu ska du slutföra problemet genom att skriva koden som returnerar False om det inte finns någon väg mellan två noder.
Den här övningen är en del av kursen
Introduktion till nätverksanalys i Python
Övningsinstruktioner
- Kontrollera om kön har tömts. Det gör du genom att inspektera det sista elementet i queue med
[-1]. - Lägg till lämplig return-sats för att ange om det finns en väg mellan dessa två noder.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
def path_exists(G, node1, node2):
"""
This function checks whether a path exists between two nodes (node1, node2) in graph G.
"""
visited_nodes = set()
queue = [node1]
for node in queue:
neighbors = list(G.neighbors(node))
if node2 in neighbors:
print('Path exists between nodes {0} and {1}'.format(node1, node2))
return True
break
else:
visited_nodes.add(node)
queue.extend([n for n in neighbors if n not in visited_nodes])
# Check to see if the final element of the queue has been reached
if node == ____:
print('Path does not exist between nodes {0} and {1}'.format(node1, node2))
# Place the appropriate return statement
return ____