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

  1. Créer un Set à partir de la première collection.
  2. Itérer sur la deuxième collection, en vérifiant si chaque élément appartient au Set créé.
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