MulaiMulai sekarang secara gratis

Shortest Path III

Ini adalah latihan terakhir dari rangkaian ini! Sekarang Anda akan melengkapi masalahnya dengan menulis kode yang mengembalikan False jika tidak ada jalur antara dua simpul.

Latihan ini adalah bagian dari kursus

Pengantar Analisis Jaringan di Python

Lihat Kursus

Petunjuk latihan

  • Periksa apakah queue telah kosong. Anda dapat melakukannya dengan melihat elemen terakhir queue menggunakan [-1].
  • Tempatkan pernyataan return yang sesuai untuk menunjukkan apakah ada jalur antara kedua simpul tersebut.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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 ____
Edit dan Jalankan Kode