Sunday, August 18, 2019 15:23

Sorted Set

Sorted Set este structura de date preferată atunci când dorim să avem elemente sortate și în același timp să eliminăm elementele duplicate. Din păcate, performanța sa este mai slabă decât cea a unui Hash Set sau a unui Dicționar. Următorul program declară un nou Sorted Set și adaugă elemente în acesta:

Uneori este posibil să doriți să creați un Sorted Set din elementele conținute într-o altă structură de date, cum ar fi un array sau o listă. Acest lucru poate fi realizat direct folosind constructorul Sorted Set:

Metodele cele mai utile din clasa Sorted Set sunt următoarele:

RemoveWhere() – această metodă poate fi utilizată pentru a elimina toate elementele care întrunesc o anumită condiție. Această metodă folosește Linq, despre care nu am învățat încă:

Clear() – La fel ca și în cazul celorlalte structuri de date pe care le-am învățat până acum, Clear() poate fi utilizată pentru a elimina toate elementele din colecție.
UnionWith() – Ca și în cazul Hash Set, această metodă va returna o nouă colecție de elemente sortate prin fuzionarea a două colecții, desigur eliminând elementele care sunt duplicate.
SymmetricExceptWith() – Această metodă va fuziona două colecții prin unirea tuturor elementelor care sunt unice pentru una dintre colecții. Deci, toate elementele care se găsesc într-una din colecții, dar nu și în cealaltă.

ExceptWith() – Aceasta este o metodă de reducere. Necesită două colecții și va returna toate elementele care nu sunt prezente în una din ele.
Overlaps() – Această metodă utilă ne spune dacă o colecție are elemente comune cu Sorted Set-ul nostru. Dacă cel puțin un element este găsit în ambele, rezultatul este Adevărat (True), altfel Fals (False).
IntersectWith() – Metodă pentru îmbinarea a două colecții prin luarea tuturor elementelor prezente în ambele.
Min(), Max() – Deoarece nu puteți utiliza un index pentru a accesa elementele unui Sorted Set în mod direct, aceste metode sunt utile în modul în care ne pot oferi primul sau ultimul element al colecției.

Rezultatul va afisa:

Sorted Set

IsSubsetOf(), IsSupersetOf(), IsProperSubsetOf() și IsProperSupersetOf() – Acestea sunt metode care ne ajută să calculam subseturi și superseturi. În limbajul comun, un subset este un set care este conținut în întregime într-un alt set. Un superset este setul care conține în întregime un alt set. În afară de aceasta, „Proper Subset” sau „Proper Superset” se referă la proprietatea de a nu avea exact același număr de elemente. Un superset trebuie să aibă cel puțin un element mai mult decât setul conținut, iar un subset trebuie să aibă cel puțin un element mai puțin decât cel care îl conține:

Rezultatul produs va fi acesta:

IsSubsetOf(), IsSupersetOf(), IsProperSubsetOf(), IsProperSupersetOf()

SetEquals() – Metodă utilă ori de câte ori dorim să comparăm două Sorted Set și să verificăm dacă ele conțin aceleași elemente.
GetViewBetween() – O metodă pentru preluarea tuturor elementelor dintr-un Sorted Set, între două elemente ale acestuia, pe care le furnizăm ca parametri ai acestei metode. Elementele returnate sunt toate elementele care se găsesc între aceste două elemente (inclusiv ele).

Programul de mai sus va afișa 4, 5, 7. De ce? Pentru că, amintiți-vă, acesta este un set sortat. Deci, chiar dacă am adăugat elementele într-o ordine aleatorie, ele vor fi sortate (numeric, în acest caz, pentru că am furnizat numere întregi). După sortare, elementele care se găsesc între 4 și 7 inclusiv sunt 4, 5 și 7.

Contains() – Determină dacă un Sorted Set conține un anumit element.

Cea mai importantă proprietate a unui Sorted Set este:

Count – returnează numărul elementelor din colecție.

Comments

comments

Tags: ,

Leave a Reply