This shows you the differences between two versions of the page.
sd-ca:laboratoare:laborator-05 [2015/03/25 00:53] dragos.dimitriu [Exerciţii] |
sd-ca:laboratoare:laborator-05 [2015/03/31 12:16] (current) emil.racec [Exerciţii] |
||
---|---|---|---|
Line 25: | Line 25: | ||
==== Dequeue ==== | ==== Dequeue ==== | ||
- | ** Dequeue ** (sau coadă cu dublu access) este o structură de tip coadă în care însă accesul (introducere / extragere de elemente) se poate realiza "prin ambele capete". De cele mai multe ori sunt implementate folosind liste dublu înlănţuite (vor fi studiate în cadrul [[http://elf.cs.pub.ro/sd/wiki/laboratoare/laborator-01|laboratorului 5]]). Dintr-un anume punct de vedere, se poate considera că atât stiva cât şi coada clasică sunt specializări ale tipului abstract **dequeue** întrucât ambele se pot implementa folosind dequeue (şi restrângând operaţiile ce se realizează asupra sa). | + | ** Dequeue ** (sau coadă cu dublu access) este o structură de tip coadă în care însă accesul (introducere / extragere de elemente) se poate realiza "prin ambele capete". De cele mai multe ori sunt implementate folosind liste dublu înlănţuite (vor fi studiate în cadrul laboratorului 6). Dintr-un anume punct de vedere, se poate considera că atât stiva cât şi coada clasică sunt specializări ale tipului abstract **dequeue** întrucât ambele se pot implementa folosind dequeue (şi restrângând operaţiile ce se realizează asupra sa). |
==== Priority queue ==== | ==== Priority queue ==== | ||
Line 190: | Line 190: | ||
===== Exerciţii ===== | ===== Exerciţii ===== | ||
- | 1) [**3p**] Pornind de la header-ul definit [[http://ocw.cs.pub.ro/courses/sd-ca/laboratoare/laborator-04#implementarea_cu_vector_circular|anterior]] realizați implementarea structurii de date //coadă//. | + | 1) [**2p**] Pornind de la header-ul definit [[http://ocw.cs.pub.ro/courses/sd-ca/laboratoare/laborator-05#implementarea_cu_vector_circular|anterior]] realizați implementarea structurii de date //coadă//. |
* constructor și destructor | * constructor și destructor | ||
- | * [**1p**] metoda enqueue | + | * [**0.5p**] metoda enqueue |
- | * [**1p**] metoda dequeue | + | * [**0.5p**] metoda dequeue |
* [**0.5p**] metoda front | * [**0.5p**] metoda front | ||
* [**0.5p**] metoda isEmpty | * [**0.5p**] metoda isEmpty | ||
- | 2) [**3p**] Implementaţi Radix Sort (sortare crescătoare). | + | 2) [**5p**] Implementaţi Radix Sort (sortare crescătoare). |
+ | |||
+ | 3) [**5p**] Verificaţi dacă un număr este palindrom folosind un deque. | ||
<hidden> | <hidden> | ||
- | 2) [**3p**] Implementaţi Radix Sort (sortare descrescătoare). | + | 3) [**5p**] Implementaţi o coadă folosind două stive. |
2) [**3p**] Implementati gasirea celui mai dens interval de puncte unidimensionale. | 2) [**3p**] Implementati gasirea celui mai dens interval de puncte unidimensionale. | ||
- | |||
- | 3) [**2p**] Implementaţi o stivă folosind două cozi. | ||
- | |||
- | 3) [**2p**] Implementați o coadă folosind două stive. | ||
3) [**2p**] Verificaţi dacă un număr este palindrom folosind un deque. | 3) [**2p**] Verificaţi dacă un număr este palindrom folosind un deque. |