IniziaInizia gratis

Shortest Path III

Questo è l’ultimo esercizio di questo trio! Ora completerai il problema scrivendo il codice che restituisce False se non c’è alcun percorso tra due nodi.

Questo esercizio fa parte del corso

Introduzione all'analisi delle reti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Verifica se la coda è stata svuotata. Puoi farlo ispezionando l’ultimo elemento di queue con [-1].
  • Inserisci l’istruzione di return appropriata per indicare se esiste un percorso tra questi due nodi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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 ____
Modifica ed esegui il codice