This shows you the differences between two versions of the page.
|
sd-ca:2017:laboratoare:lab-05 [2017/12/12 14:34] teodora.serbanescu created |
sd-ca:2017:laboratoare:lab-05 [2018/02/19 15:30] (current) cosmin_ioan.petrisor [Exerciţii] |
||
|---|---|---|---|
| Line 260: | Line 260: | ||
| ===== Exerciţii ===== | ===== Exerciţii ===== | ||
| + | <hidden> | ||
| 1) [**6p**] Implementaţi structura de date dicţionar, plecând de la [[sd-ca:laboratoare:lab-05#schelet_hashtable|antetul]] definit anterior. | 1) [**6p**] Implementaţi structura de date dicţionar, plecând de la [[sd-ca:laboratoare:lab-05#schelet_hashtable|antetul]] definit anterior. | ||
| * [**1p**] constructor şi destructor | * [**1p**] constructor şi destructor | ||
| Line 270: | Line 271: | ||
| * caută definiţia unui cuvânt dat | * caută definiţia unui cuvânt dat | ||
| * afişează mesaj de eroare //cuvânt inexistent// în cazul în care un cuvânt nu se găseşte în dicţionar | * afişează mesaj de eroare //cuvânt inexistent// în cazul în care un cuvânt nu se găseşte în dicţionar | ||
| - | |||
| - | |||
| **Exemplu** | **Exemplu** | ||
| Line 292: | Line 291: | ||
| 3) [**2p**] **Bonus:** Implementați și testați redimensionarea unui hashtable: funcția **resize** dublează dimensiunea structurii interne a tabelei de dispersie. Dublarea se va face în momentul în care raportul dintre numărul de elemente introduse în hashtable size şi numărul de bucket-uri HMAX este mai mare decât o valoare aleasă (ex: //size / HMAX > 0.75//). Comportamentul dorit pentru această funcţionalitate este următorul: se redimensionează array-ul de bucket-uri, iar apoi fiecare bucket este parcus în ordine și elementele sunt redistribuite după valoarea **noului hash**. | 3) [**2p**] **Bonus:** Implementați și testați redimensionarea unui hashtable: funcția **resize** dublează dimensiunea structurii interne a tabelei de dispersie. Dublarea se va face în momentul în care raportul dintre numărul de elemente introduse în hashtable size şi numărul de bucket-uri HMAX este mai mare decât o valoare aleasă (ex: //size / HMAX > 0.75//). Comportamentul dorit pentru această funcţionalitate este următorul: se redimensionează array-ul de bucket-uri, iar apoi fiecare bucket este parcus în ordine și elementele sunt redistribuite după valoarea **noului hash**. | ||
| - | <hidden> | ||
| **Observaţie (pentru asistenți):** | **Observaţie (pentru asistenți):** | ||