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).
Ҳамдаст билан мисол:
- Биринчи коллекциядан
Setяратинг. - Иккинчи коллекция бўйича итерация қилиб, ҳар бир элементнинг яратилган
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 чиқаради