Jaké jsou rozdíly mezi datovou strukturou Set a polem v kontextu jejich použití a vlastností?
sobes.tech AI
Odpověď od AI
Set a pole a pole (Array) jsou různé datové struktury s odlišnými vlastnostmi a použitím:
-
Unikátnost prvků: Set ukládá pouze unikátní hodnoty, duplicitní prvky jsou automaticky ignorovány. Pole může obsahovat opakující se prvky.
-
Pořadí prvků: V poli je pořadí prvků pevné a důležité, lze k nim přistupovat podle indexu. V Set není pořadí garantováno (v Swift je Set neuspořádaný), proto není možné indexování.
-
Přístup podle indexu: Pole umožňuje rychlý přístup k prvku podle indexu. Set nepodporuje indexovaný přístup.
-
Hledání a kontrola existence: V Set je kontrola, zda prvek existuje, obvykle rychlejší (blízké O(1)), v poli je hledání lineární (O(n)).
-
Použití: Pole jsou vhodná, když je důležité pořadí a jsou povoleny duplicitní prvky. Set je vhodný, když je třeba uložit unikátní prvky a rychle je kontrolovat.
Pří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] — pořadí není garantováno, duplicitní prvky jsou odstraněny