This shows you the differences between two versions of the page.
sd-ca:laboratoare:laborator-12 [2015/05/24 13:02] cosmin_ioan.petrisor [Noțiuni de bază despre treapuri] |
sd-ca:laboratoare:laborator-12 [2015/05/28 15:07] (current) gabriel.cristache [Exerciții] |
||
---|---|---|---|
Line 19: | Line 19: | ||
O structură de date este o metodă de a reține anumite date astfel încât operațiile cu acestea (căutare, inserare, ștergere) să fie făcute cât mai eficient și să respecte cerințele programatorului. De multe ori, o anumită structură de date se află la baza unui algoritm sau sistem, iar o performanță bună a acesteia (complexitate spațială și temporală cât mai mică) influențează performanța întregului sistem. | O structură de date este o metodă de a reține anumite date astfel încât operațiile cu acestea (căutare, inserare, ștergere) să fie făcute cât mai eficient și să respecte cerințele programatorului. De multe ori, o anumită structură de date se află la baza unui algoritm sau sistem, iar o performanță bună a acesteia (complexitate spațială și temporală cât mai mică) influențează performanța întregului sistem. | ||
- | În laboratoarele precedente am observat că un arbore binar de căutare de înălțime **h** implementează operațiile descrise mai sus într-o complexitate de **O(h)**. Dacă acest arbore binar nu este capabil să gestioneze elementele ce sunt inserate pentru a își menține o structura echilibrată atunci complexitatea pe operațiile de baza va crește. | + | În laboratoarele precedente am observat că un arbore binar de căutare de înălțime **h** implementează operațiile descrise mai sus într-o complexitate de **O(h)**. Dacă acest arbore binar nu este capabil să gestioneze elementele ce sunt inserate pentru a își menține o structura echilibrată atunci complexitatea pe operațiile de bază va crește. |
<note tip> | <note tip> | ||
Line 154: | Line 154: | ||
* [0.5p] Inserare | * [0.5p] Inserare | ||
* [0.5p] Ștergere | * [0.5p] Ștergere | ||
+ | |||
+ | 2.**[1p]** Realizați o parcurgere a treapului astfel încât să obțineți cheile sortate crescător/descrescător. | ||
+ | |||
+ | 3.**[2p]** Realizați o parcurgere a treapului astfel încât să obțineți o structură arborescentă a priorităților, pentru a observa invariantul de heap. | ||
+ | |||
+ | 4.**[2p]** Scrieți o funcție care să răspundă într-o complexitate de ''O(logN)'' la următoarea cerință: Care este cea de-a K-a cheie, în ordinea sortării crescătoare, care se află în treap? | ||
+ | |||
<hidden> | <hidden> | ||
2.**[1p]** Realizați o parcurgere a treapului astfel încât să obțineți cheile sortate crescător/descrescător. | 2.**[1p]** Realizați o parcurgere a treapului astfel încât să obțineți cheile sortate crescător/descrescător. |