Sobes.tech
Junior — Middle

Koja je vremenska složenost operacije pretraživanja elementa u listi implementiranoj putem slice-a?

sobes.tech АИ

Одговор од АИ

U Go-u, slice je dinamički niz koji čuva elemente u sekvencijalnom području memorije. Pretraživanje elementa po vrednosti u slice-u zahteva prolazak kroz elemente, jer slice nije indeksiran po vrednosti.

Stoga, vremenska složenost operacije pretraživanja elementa u slice-u je O(n), gde je n broj elemenata u slice-u.

Primer pretraživanja elementa:

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

U najgorem slučaju, potrebno je proveriti sve elemente.