Aan de slagBegin gratis

Shortest Path III

Dit is de laatste oefening van dit trio! Je gaat het probleem nu afronden door de code te schrijven die False teruggeeft als er geen pad is tussen twee knopen.

Deze oefening maakt deel uit van de cursus

Introductie tot netwerkanalyse in Python

Bekijk cursus

Oefeninstructies

  • Controleer of de queue is leeggeraakt. Dat kan door het laatste element van queue te inspecteren met [-1].
  • Plaats de juiste return-instructie om aan te geven of er een pad is tussen deze twee knopen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 ____
Code bewerken en uitvoeren