Sobes.tech
Junior — Middle

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