Izgaralar ve labirentler birer graf: ulaşılabilirlik, bağlı bileşenler, BFS ve en kısa yol.
Temel fikirler
- Izgara bir graftır: her hücre bir düğüm, komşuları yukarı, aşağı, sol ve sağ.
- BFS (kuyrukla) en kısa yolu katman katman bulur; DFS (yığın ya da özyineleme) bağlı bölgeleri gezer.
- Ziyaret edilenleri bir kümede tut, yoksa sonsuza dek dönersin.
Kalıp
from collections import deque
seen = {start}
queue = deque([start])
while queue:
x, y = queue.popleft()
for nx, ny in ((x+1, y), (x-1, y), (x, y+1), (x, y-1)):
if open_cell(nx, ny) and (nx, ny) not in seen:
seen.add((nx, ny))
queue.append((nx, ny))Önce şunları tamamla:Yığın & Kuyruk
Dersler
Her ders tek bir fikri sıfırdan anlatır ve birkaç görevle biter. Dersler sırayla açılır; anlatımı istediğin zaman okuyabilirsin.
Boss
05
En Kısa Rota
Fonksiyon
Boss, konunun bütün dersleri bitince açılır. Onu da çözünce konu tamamlanır ve sonraki konular açılır.