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.