Sobes.tech
Junior — Middle

Comment évaluer la complexité temporelle de l'opération de recherche d'un élément par valeur dans une séquence de type slice?

sobes.tech IA

Réponse de l'IA

La complexité temporelle de la recherche d’un élément par valeur dans une tranche (slice) en Go est O(n), où n est le nombre d’éléments dans la tranche.

Cela est dû au fait qu’une tranche est une séquence ordonnée d’éléments sans structure indexée pour une recherche rapide. Pour trouver un élément, il faut parcourir la tranche séquentiellement, en comparant chaque élément avec la valeur recherchée.

Exemple de recherche d’un élément dans une tranche :

func contains(slice []int, val int) bool {
    for _, item := range slice {
        if item == val {
            return true
        }
    }
    return false
}

Pour une recherche plus rapide, il faut utiliser des structures de données avec accès indexé, comme une carte.