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

  1. Birinchi to'plamdan Set yaratish.
  2. 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