TablicaPro / karta pracy ucznia / INFORMATYKA

Wyszukiwanie liniowe i binarne — porównanie algorytmów

Klasa: __________ Numer: __________ Data: __________

Pracuj w przygotowanym pliku. Po każdej zmianie zapisz go i sprawdź rezultat.

Kod do rozpoczęcia pracy

lista = [4, 8, 15, 16, 23, 42]
szukana = 16
for i in range(len(lista)):
    if lista[i] == szukana:
        print("Znaleziono na pozycji", i)

Zadanie 1

Napisz liniowe(lista, szukana) zwracającą (indeks, liczba porównań) lub (-1, liczba porównań). Sprawdź 15, 70 i 10 na liście 16 posortowanych liczb.

Zadanie 2

Napisz binarne(lista, szukana) zwracającą taką samą parę. Sprawdź te same wartości.

Zadanie 3

Dla każdego elementu listy znajdź największą liczbę porównań obu metod. Porównaj je dla range(0, 2000, 2) i szukanej 1998.

Sprawdź przed oddaniem

Zadanie 1: pętla i indeks 1 pkt, licznik i brak elementu 1 pkt; zadanie 2: granice 2 pkt, środek i porównania 2 pkt; zadanie 3: najgorszy przypadek 2 pkt, duża lista 1 pkt, poprawne wyniki zadań 1-2 1 pkt. Razem 10 pkt.

Jaką zmianę w kodzie potrafisz samodzielnie wyjaśnić?