Junior — Middle
Cum se evaluează complexitatea temporală a operației de căutare a unui element după valoare într-o secvență de tip slice?
sobes.tech AI
Răspuns de la AI
Complexitatea temporară pentru căutarea unui element după valoare într-un slice în Go este O(n), unde n este numărul de elemente din slice.
Aceasta se datorează faptului că un slice este o secvență ordonată de elemente fără o structură indexată pentru căutare rapidă. Pentru a găsi un element, trebuie să parcurgi secvențial slice-ul, comparând fiecare element cu valoarea căutată.
Exemplu de căutare a unui element într-un slice:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Dacă este nevoie de o căutare mai rapidă, se pot folosi structuri de date cu acces indexat, cum ar fi un map.