Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:laboratoare:laborator-11 [2015/05/17 23:39]
cosmin_ioan.petrisor [Proprietăţi ale structurii de heap binar. Operaţii elementare.]
sd-ca:laboratoare:laborator-11 [2015/05/21 05:57] (current)
mihai.neacsu2901 [Aplicaţii]
Line 143: Line 143:
 } }
 </​code>​ </​code>​
 +
 +2. [3p] Implementaţi operaţiile elementare de lucru cu heap-uri, prezentate în secţiunile anterioare:
 +
 +  *[1p] Implementati functiile de calcul ai parintelui si ai descendentilor.
 +
 +<code c++>
 +template <​typename T>
 +int Heap<​T>::​parent(int poz)
 +{
 +    // TODO 2.1
 +}
 +
 +template <​typename T>
 +int Heap<​T>::​leftSubtree(int poz)
 +{
 +    // TODO 2.1
 +}
 +
 +template <​typename T>
 +int Heap<​T>::​rightSubtree(int poz)
 +{
 +    // TODO 2.1
 +}
 +</​code>​
 +
 +Cele trei funcţii de mai sus vor întoarce -1 în cazul în care părintele, respectiv descendenţii nu există.
 +
 +  * [2p] Implementati pushUp si pushDown.
 +<code c++>
 +template <​typename T>
 +void Heap<​T>::​pushUp(int poz)
 +{
 +    // TODO 2.2
 +    ​
 +}
 +
 +template <​typename T>
 +void Heap<​T>::​pushDown(int poz)
 +{
 +    // TODO 2.2
 +    ​
 +}
 +</​code>​
 +
 +
 +3. [1p] Implementaţi operaţiile uzuale de lucru cu heap-uri:
 +
 +<code c++>
 +template <​typename T>
 +void Heap<​T>::​insert(T x)
 +{
 +    // TODO 3
 +}
 +
 +template <​typename T>
 +T Heap<​T>::​peek()
 +{
 +    // TODO 3
 +}
 +
 +template <​typename T>
 +T Heap<​T>::​extractMin()
 +{
 +    // TODO 3
 +}
 +</​code>​
 +
 +4. [2p] **p4.cpp** Implementaţi algoritmul de sortare folosind heap-uri, alegând una dintre cele două metode prezentate mai sus. Testați implementarea voastră a sortării rulând scriptul de testare ''​test.sh''​.
 +
 +**Obs.:​** ​
 +  * Se va citi întâi numărul **n** de elemente, iar apoi **n** numere care trebuie sortate.
 +  * Citirea se face de la **stdin**. Nu modificați afișarea! Afișarea are formatul folosit pentru script-ul de testing.
 +**BONUS!** [1p] Implementaţi şi celelalta metoda de sortare prin heap-uri, în afară de cea aleasă iniţial. Pentru testare se va modifica doar funcția ''​heapSort''​ și se va executa tot scriptul ''​test.sh''​.
 +
 <​hidden>​ <​hidden>​
 2. [3p] Implementaţi operaţiile elementare de lucru cu heap-uri, prezentate în secţiunile anterioare: 2. [3p] Implementaţi operaţiile elementare de lucru cu heap-uri, prezentate în secţiunile anterioare:
sd-ca/laboratoare/laborator-11.1431895179.txt.gz · Last modified: 2015/05/17 23:39 by cosmin_ioan.petrisor
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0