Junior — Middle
Care este complexitatea temporală a operației de căutare a unui element într-o listă implementată printr-un slice?
sobes.tech AI
Răspuns de la AI
În Go, un slice este un array dinamic care stochează elemente într-o zonă de memorie secvențială. Căutarea unui element după valoare într-un slice necesită parcurgerea elementelor, deoarece slice-ul nu este indexat după valoare.
Prin urmare, complexitatea temporară a operației de căutare a unui element într-un slice este O(n), unde n este numărul de elemente din slice.
Exemplu de căutare a unui element:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Aici, în cel mai rău caz, va trebui să verifici toate elementele.