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:
- İlk koleksiyondan bir
Setoluşturun. - İkinci koleksiyon üzerinde yineleme yapın ve her öğenin oluşturulan
Setiç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