ÎncepețiÎncepe gratuit

Cel mai scurt drum III

Acesta este ultimul exercițiu din această serie! Vei finaliza acum problema scriind codul care returnează False atunci când nu există nicio cale între două noduri.

Acest exercițiu face parte din cursul

Introducere în analiza rețelelor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Verifică dacă queue a fost golit. Poți face asta inspectând ultimul element al cozii cu [-1].
  • Adaugă instrucțiunea return potrivită pentru a indica dacă există sau nu o cale între cele două noduri.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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 ____
Editează și rulează codul