Aké rozdiely existujú medzi dátovou štruktúrou Set a poľom v kontexte ich použitia a vlastností?
sobes.tech AI
Odpoveď od AI
Set a pole (Array) sú odlišné dátové štruktúry s rôznymi vlastnosťami a použitím:
-
Unikátnosť prvkov: Set uchováva iba unikátne hodnoty, duplicitné sa automaticky ignorujú. Pole môže obsahovať opakujúce sa prvky.
-
Poradie prvkov: V poli je poradie prvkov pevné a dôležité, k nim sa dá pristupovať pomocou indexu. V Set nie je poradie garantované (v Swift je Set neusporiadaný), preto indexovanie nie je možné.
-
Prístup pomocou indexu: Pole umožňuje rýchly prístup k prvku pomocou indexu. Set nepodporuje indexovaný prístup.
-
Hľadanie a kontrola prítomnosti: V Set je kontrola, či prvok existuje, zvyčajne rýchlejšia (blízko O(1)), v poli je lineárne vyhľadávanie (O(n)).
-
Použitie: Polia sú vhodné, keď je poradie dôležité a sú povolené duplicitné prvky. Set je vhodný, keď je potrebné uložiť unikátne prvky a rýchlo ich overiť.
Príklad v Swift:
var array = [1, 2, 2, 3]
var set: Set = [1, 2, 2, 3]
print(array) // [1, 2, 2, 3]
print(set) // [2, 3, 1] — poradie nie je garantované, duplicitné prvky boli odstránené