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
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 ____