Kürzester Pfad III
Das ist die letzte Übung dieser Dreierreihe! Du vervollständigst jetzt die Aufgabe, indem du den Code schreibst, der False zurückgibt, wenn es keinen Pfad zwischen zwei Knoten gibt.
Diese Übung ist Teil des Kurses
Einstieg in die Netzwerkanalyse mit Python
Anleitung zur Übung
- Prüfe, ob die Queue geleert wurde. Das kannst du tun, indem du das letzte Element der Queue mit
[-1]inspizierst. - Füge das passende return-Statement ein, um anzuzeigen, ob ein Pfad zwischen diesen beiden Knoten existiert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 ____