Middle
Comment vérifier plus rapidement si une collection est contenue dans une autre : en utilisant un tableau ou un ensemble ?
sobes.tech IA
Réponse de l'IA
Un ensemble (Set) est plus rapide pour vérifier l'inclusion d'éléments.
Explication :
- Tableau (Array) : La vérification de l'inclusion d'un élément dans un tableau prend en moyenne un temps O(n), où n est le nombre d'éléments. Pour vérifier si une collection est incluse dans une autre, il faut n itérations, chacune étant O(m), où m est la taille de la deuxième collection. Au total, O(n*m).
- Ensemble (Set) : La vérification de l'inclusion d'un élément dans un ensemble prend en moyenne un temps O(1). Pour vérifier si une collection est incluse dans une autre, il faut n itérations, chacune étant O(1). Au total, O(n).
Exemple avec un ensemble :
- Créer un
Setà partir de la première collection. - Itérer sur la deuxième collection, en vérifiant si chaque élément appartient au
Setcréé.
let collection1: [Int] = [1, 2, 3, 4, 5]
let collection2: [Int] = [2, 4]
// Créer un ensemble à partir de collection1
let set1 = Set(collection1)
// Vérifier si collection2 est un sous-ensemble de collection1
let isSubset = collection2.allSatisfy { set1.contains($0) }
print(isSubset) // Affichera true