Sobes.tech
Middle

Bir koleksiyonun diğerine dahil olup olmadığını daha hızlı nasıl kontrol edilir: dizi kullanarak mı yoksa küme kullanarak mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir Küme (Set), öğelerin dahil olupunu kontrol etmek için daha hızlıdır.

Açıklama:

  • Dizi (Array): Bir dizide bir öğenin dahil olupunu kontrol etmek ortalama O(n) zaman alır, burada n öğe sayısıdır. Bir koleksiyonun diğerine dahil olupunu kontrol etmek için n yineleme gerekir, her biri O(m) zaman alır, burada m ikinci koleksiyonun boyutudur. Toplamda O(n*m).
  • Küme (Set): Bir kümede bir öğenin dahil olupunu kontrol etmek ortalama O(1) zaman alır. Bir koleksiyonun diğerine dahil olupunu kontrol etmek için n yineleme gerekir, her biri O(1) zaman alır. Toplamda O(n).

Küme ile örnek:

  1. İlk koleksiyondan bir Set oluşturun.
  2. İkinci koleksiyon üzerinde yineleme yapın ve her öğenin oluşturulan Set içinde olupunu kontrol edin.
let collection1: [Int] = [1, 2, 3, 4, 5]
let collection2: [Int] = [2, 4]

// collection1'den bir küme oluştur
let set1 = Set(collection1)

// collection2'nin collection1'e alt küme olup olmadığını kontrol et
let isSubset = collection2.allSatisfy { set1.contains($0) }

print(isSubset) // true yazdırır