Łamacz koduCzęść III · Rekurencja i grafy

Część III z serii · Rekurencja, wyszukiwanie i grafy w Pythonie

Kod wygląda dobrze.
Znajdź dane, które go złamią.

Dostaniesz 10 krótkich funkcji: wyszukiwanie, rekurencję, drzewa, grafy i szukanie wzorca w tekście, każdą z tezą o tym, co robi. Część działa, część ma błąd. Gra uruchamia pokazany kod naprawdę, więc Twój kontrprzykład albo go złamie, albo nie.

  1. Oceń, czy kod spełnia tezę.
  2. Wskaż linię z błędem albo fałszywą tezę.
  3. Nazwij pułapkę.
  4. Udowodnij to kontrprzykładem i zobacz w rentgenie stos wywołań, drzewo albo okno na tekście.
10 kart · ok. 20–30 minut

Ten sam kod sesji daje wszystkim te same karty i osobny ranking grupy. Przy równej liczbie punktów wyżej jest krótszy czas na decyzje. Zegar stoi, kiedy czytasz wyjaśnienie i oglądasz rentgen.

Przykład: wyszukiwanie binarne

    binary_search([5], 5)→-1

    while lo < hi kończy pętlę, zanim ostatni kandydat zostanie porównany z x. Takich miejsc szukasz w grze.

    Ranking

    Najlepszy wynik każdego pseudonimu. Pod punktami czas na decyzje. Wpisz kod sesji wyżej, żeby zobaczyć ranking grupy.

    Katalog pułapek

    Siedemnaście błędów, które najczęściej psują wyszukiwanie, rekurencję, drzewa, grafy i szukanie w tekście. Pułapki, które pojawiły się już w Twoich grach, mają znacznik „spotkana”.