Sobes.tech
Middle

Чӣ тавр зудтар санҷед, ки оё як коллексия дар дохили дигар аст: бо истифода аз массив ё маҷмӯъ?

sobes.tech AI

Ҷавоб аз AI

Ҳамдаст (Set) элементларнинг кириши текширишда тезроқ.

Тушунтириш:

  • Масив (Array): Масивда элементнинг кириши текшириш ўртача вақтда O(n), бу ерда n — элементлар сони. Бир коллекциянинг бошқасига кириши текшириш учун n итерация керак, ҳар бири O(m), бу ерда m — иккинчи коллекциянинг ўлчами. Жамида O(n*m).
  • Ҳамдаст (Set): Ҳамдастда элементнинг кириши текшириш ўртача вақтда O(1). Бир коллекциянинг бошқасига кириши текшириш учун n итерация керак, ҳар бири O(1). Жамида O(n).

Ҳамдаст билан мисол:

  1. Биринчи коллекциядан Set яратинг.
  2. Иккинчи коллекция бўйича итерация қилиб, ҳар бир элементнинг яратилган Setда бўлишини текширинг.
let collection1: [Int] = [1, 2, 3, 4, 5]
let collection2: [Int] = [2, 4]

// collection1 дан ҳамдаст яратиш
let set1 = Set(collection1)

// collection2нинг collection1га кичик тўп ёки эмаслигини текшириш
let isSubset = collection2.allSatisfy { set1.contains($0) }

print(isSubset) // true чиқаради