1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Phân tích Mạng bằng Python

Connected

Bài tập

Đường đi ngắn nhất II

Giờ bạn đã có mã để kiểm tra xem nút đích có nằm trong các hàng xóm hay không, bước tiếp theo, bạn sẽ mở rộng cùng hàm đó để viết mã cho trường hợp nút đích không nằm trong các hàng xóm.

Tất cả phần mã bạn cần viết nằm trong nhánh else; tức là khi node2 không có trong neighbors.

Hướng dẫn

100 XP
  • Sử dụng phương thức .add(), thêm nút hiện tại node vào tập visited_nodes để theo dõi những nút đã được thăm.
  • Thêm các hàng xóm của nút hiện tại node mà chưa được thăm vào queue. Để làm điều này, bạn cần dùng phương thức .extend() của queue cùng với một list comprehension. Phương thức .extend() sẽ nối tất cả phần tử trong một danh sách cho trước.
    • Cả biểu thức đầu ra và biến lặp trong list comprehension đều là n. Iterable là bộ lặp của neighbors, và điều kiện là nếu n không nằm trong các nút đã thăm.