Sobes.tech
Junior — Middle

Koje razlike postoje između strukture podataka Set i niza u kontekstu njihove upotrebe i karakteristika?

sobes.tech АИ

Одговор од АИ

Set i niz (Array) su različite strukture podataka sa različitim karakteristikama i primenama:

  • Jedinstvenost elemenata: Set čuva samo jedinstvene vrednosti, duplikati se automatski ignorišu. Niz može sadržavati ponovljene elemente.

  • Redosled elemenata: U nizu, redosled elemenata je fiksan i važan, može im se pristupiti putem indeksa. U Set-u, redosled nije garantovan (u Swift-u, Set je neuređen), pa indeksiranje nije moguće.

  • Pristup putem indeksa: Niz omogućava brz pristup elementu putem indeksa. Set ne podržava indeksirani pristup.

  • Pretraga i provera postojanja: U Set-u, provera da li element postoji je obično brža (blizu O(1)), u nizu je linearna pretraga (O(n)).

  • Upotreba: Nizovi su pogodni kada je redosled važan i dozvoljeni su duplikati. Set je pogodan kada je potrebno čuvati jedinstvene elemente i brzo proveravati njihovo postojanje.

Primer u Swift-u:

var array = [1, 2, 2, 3]
var set: Set = [1, 2, 2, 3]
print(array) // [1, 2, 2, 3]
print(set)   // [2, 3, 1] — redosled nije garantovan, duplikati su uklonjeni