Sobes.tech
Junior — Middle

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é