İçeriğe atla
CodeItRaw
Yol

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.

  1. 01

    Graf: noktalar ve yollar

    0/2 görev

  2. 02

    Gördüklerini işaretle

    0/3 görev

  3. 03

    Parçaları saymak

    0/3 görev

  4. 04

    En kısa yol: genişlemesine arama

    0/2 görev

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.