Junior — Middle
Qual è la complessità temporale dell'operazione di ricerca di un elemento in una lista implementata tramite uno slice?
sobes.tech AI
Risposta dell'AI
In Go, uno slice è un array dinamico che memorizza gli elementi in un'area di memoria sequenziale. La ricerca di un elemento per valore in uno slice richiede di scorrere gli elementi, poiché lo slice non è indicizzato per valore.
Pertanto, la complessità temporale dell'operazione di ricerca di un elemento in uno slice è O(n), dove n è il numero di elementi nello slice.
Esempio di ricerca di un elemento:
func contains(slice []int, val int) bool {
for _, item := range slice {
if item == val {
return true
}
}
return false
}
Qui, nel peggiore dei casi, sarà necessario verificare tutti gli elementi.