Sobes.tech
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.