Middle
Bir to'plamadan boshqasiga kirishini qanday tezroq tekshirish mumkin: massiv yoki to'plamdan foydalanib?
sobes.tech AI
AIdan javob
Set (To'plam) elementlarning mavjudligini tekshirish uchun tezroq.
Tushuntirish:
- Array: Elementning arrayda mavjudligini tekshirish o'rtacha O(n) vaqt oladi, bu yerda n elementlar soni. Bir to'plamning boshqasiga kirishini tekshirish uchun n marta takrorlash kerak, har biri O(m), bu yerda m ikkinchi to'plamning o'lchami. Umumiy hisobda, O(n*m).
- Set: Elementning to'plamda mavjudligini tekshirish o'rtacha O(1) vaqt oladi. Bir to'plamning boshqasiga kirishini tekshirish uchun n marta takrorlash kerak, har biri O(1). Umumiy hisobda, O(n).
Set bilan misol:
- Birinchi to'plamdan
Setyaratish. - Ikkinchi to'plam bo'ylab iteratsiya qilish va har bir elementning yaratilgan
Setda mavjudligini tekshirish.
let collection1: [Int] = [1, 2, 3, 4, 5]
let collection2: [Int] = [2, 4]
// collection1 dan to'plam yaratish
let set1 = Set(collection1)
// collection2 ning collection1 ga kichik to'plam yoki yo'qligini tekshirish
let isSubset = collection2.allSatisfy { set1.contains($0) }
print(isSubset) // true chiqaradi