1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do analizy sieci w Pythonie

Connected

ćwiczenie

Najkrótsza ścieżka II

Masz już kod sprawdzający, czy węzeł docelowy jest obecny w sąsiadach (neighbors). Teraz rozszerzysz tę samą funkcję o kod obsługujący przypadek, gdy węzeł docelowy nie jest obecny w sąsiadach.

Cały kod, który trzeba napisać, znajduje się w gałęzi else — czyli w sytuacji, gdy node2 nie należy do neighbors.

Instrukcje

100 XP
  • Korzystając z metody .add(), dodaj bieżący węzeł node do zbioru visited_nodes, aby śledzić już odwiedzone węzły.
  • Dodaj do queue tych sąsiadów bieżącego węzła node, którzy nie zostali jeszcze odwiedzeni. W tym celu użyj metody .extend() obiektu queue wraz z wyrażeniem listowym. Metoda .extend() dołącza wszystkie elementy podanej listy.
    • Wyrażenie wyjściowe i zmienna iteratora wyrażenia listowego to oba n. Iterowalnym obiektem jest iterator neighbors, a warunek sprawdza, czy n nie należy do odwiedzonych węzłów.