This shows you the differences between two versions of the page.
sd-ca:2017:laboratoare:lab-09 [2018/01/12 18:32] cristian.creteanu [ABC vs Heap] |
sd-ca:2017:laboratoare:lab-09 [2018/02/19 15:32] (current) cosmin_ioan.petrisor |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Lab 9 - ABC și Heap ====== | + | ====== Lab 9 - ABC si Heap ====== |
- | * Responsabil: [[mailto:cristiancreteanu06@gmail.com | Cristian Crețeanu]] | + | |
- | * Data ultimei modificări: 12.01.2018 | + | |
===== Obiective ===== | ===== Obiective ===== | ||
Line 173: | Line 172: | ||
</code> | </code> | ||
- | =====ABC vs Heap ===== | ||
- | Deși la prima vedere nu există mari diferențe între cele două structuri de date, ele sunt complet diferite. Se poate observa că ele diferă atât la nivelul implementării (bst:pointeri către fii vs heap:vector), cat și al complexităților operațiilor specifice. Totuși, deși ambele se pot folosi în rare cazuri pentru același scop (fără a fi la fel de eficiente), ele au întrebuințări diferite. | ||
- | |||
- | **ABC** | ||
- | * Se folosește pentru a implementa arbori echilibrați, precum AVL, Red-Black | ||
- | * Prezintă toate avantajele unui vector sortat, venind în plus cu inserare în timp constant. | ||
- | * Nu este mereu echilibrat. | ||
- | |||
- | **HEAP** | ||
- | * Heap-ul stă la baza implementării cozii de priorități și a algoritmului heapsort | ||
- | * Se poate folosi pentru găsirea eficientă a celui de-al k-lea cel mai mic/mare (minheap/maxheap) element. | ||
- | * Este mereu un arbore echilibrat (complet) | ||
- | |||
- | <note>Un arbore este **echilibrat** dacă fiecare subarbore este echilibrat și înălțimea orcăror doi subarbori diferă cu cel mult 1. Această regulă stă la baza implementării unui arbore AVL. Arborii roșu-negru impun alte reguli.</note> | ||
- | |||
- | {{ :sd-ca:2017:laboratoare:balancedtree-example.png?300 |}} | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
+ | <hidden> | ||
Acest articol se va realiza pornind de la **{{sd-ca:taskuri:lab9-tasks-2017.zip|scheletul de cod}}**. | Acest articol se va realiza pornind de la **{{sd-ca:taskuri:lab9-tasks-2017.zip|scheletul de cod}}**. | ||
Line 317: | Line 301: | ||
} | } | ||
</code> | </code> | ||
+ | </hidden> | ||
===== Resurse ===== | ===== Resurse ===== |