Junior — Middle
Melyik lehetőség a legjobb az elemek keresésére — tömb vagy halmaz (Set)?
sobes.tech MI
Válasz az MI-től
Az elemek keresésekor általában jobb a Set (Halmaz) használata, mint a tömb (Array). Ennek oka, hogy a halmaz egy olyan adatszerkezetet valósít meg, amely optimalizált a gyors keresésre: az elem hozzáadása, eltávolítása és létezésének ellenőrzése amortizált O(1) idő alatt történik. Míg egy tömbben egy elem keresése végig kell nézze az összes elemet (O(n)), ami kevésbé hatékony nagy adatmennyiség esetén.
Swift példában:
let array = [1, 2, 3, 4, 5]
let set: Set = [1, 2, 3, 4, 5]
// Keresés tömbben
let containsInArray = array.contains(3) // O(n)
// Keresés halmazban
let containsInSet = set.contains(3) // O(1)
Így, ha a keresés sebessége és az elemek egyedisége fontos, akkor a Set használata a jobb választás.