Junior
Millal peaks kasutama Set-i asemel Array-d?
sobes.tech AI
Vastus AI-lt
Set tuleks kasutada järgmistel juhtudel:
- Vajadus salvestada ainult unikaalseid elemente.
Settagab automaatselt, et iga element esineb kogumis mitte rohkem kui üks kord. - Kõrge jõudlus elementide olemasolu kontrollimisel. Operatsioon
contains(_:)Set-is omab keskmiselt amortiseeritud keerukust O(1), samas kuiArray-s on see O(n). - Elementide järjekord ei ole oluline. Erinevalt
Array-st ei garanteeriSetkindlat järjekorda oma elementide loendamisel. - Sagedased lisamise, eemaldamise ja olemasolu kontrollimise operatsioonid. Need operatsioonid
Set-is on tavaliselt tõhusamad kuiArray-s suurte kogumite puhul, kui järjekord ei ole oluline ja on vaja unikaalsust.
Koodinäide, mis näitab erinevust otsingus:
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Otsing Array-s - lineaarne otsing (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Otsing Set-is - hashimine (keskmiselt O(1))
let isPresentInSet = set.contains(element)