Sobes.tech
Junior — Middle

Jaka jest złożoność czasowa operacji wyszukiwania elementu na liście zaimplementowanej za pomocą slice'a?

sobes.tech AI

Odpowiedź od AI

W Go, slice to dynamiczna tablica, która przechowuje elementy w sekwencyjnym obszarze pamięci. Szukanie elementu po wartości w slice wymaga przeszukania elementów, ponieważ slice nie jest indeksowany po wartości.

W związku z tym, złożoność czasowa operacji wyszukiwania elementu w slice to O(n), gdzie n to liczba elementów w slice.

Przykład wyszukiwania elementu:

func contains(slice []int, val int) bool {
    for _, item := range slice {
        if item == val {
            return true
        }
    }
    return false
}

W najgorszym przypadku, trzeba sprawdzić wszystkie elementy.