Caracteristica comuna a structurilor de date prezentate pana in prezent (tablouri, articole, multimi) este aceea ca toate au cardinalitatea finita, respectiv cardinalitatea tipurilor lor componente este finita.
Din acest motiv, implementarea lor nu ridica probleme deosebite.
Cele mai multe dintre asa numitele structuri avansate: secventele, listele, arborii, grafurile, etc, sunt caracterizate prin cardinalitate infinita.
Aceasta diferenta fata de structurile clasice este de profunda importanta avand consecinte practice semnificative.
Spre exemplu structura secventa avand tipul de baza T0 se defineste dupa cum urmeaza:
S0=< > (secventa vida)
Si=<Si-1,si> unde 0 < i si siI T0
Cu alte cuvinte, o secventa cu tipul de baza T0 , este:
o Fie o secventa vida
o Fie o concatenare a unei secvente (cu tipul de baza T0) cu o valoare (si) a tipului T0 .
Definirea recursiva a unui tip secventa conduce la o cardinalitate infinita.
o Fiecare valoare a tipului secventa contine in realitate un numar finit de componente de tip T0 ,
o Acest numar este nemarginit deoarece, pornind de la orice secventa se poate construi o secventa mai lunga.
O consecinta importanta a acestui fapt este:
Volumul de memorie necesar reprezentarii unei structuri avansate, nu poate fi cunoscut in momentul compilarii,
Ca atare, este necesara aplicarea unor scheme de alocare dinamica a memoriei, in care memoria este alocata structurilor care 'cresc' si este eliberata de catre structurile care 'descresc'.
Pentru a implementa aceasta cerinta, este necesar ca limbajul superior utilizat in implementare sa fie prevazut cu acces la functii sistem care permit:
Alocarea / eliberarea dinamica a memoriei
Legarea / referirea dinamica a componentelor
In aceste conditii cu ajutorul instructiilor limbajului pot fi descrise si utilizate structuri avansate de date.
Tehnicile de generare si de manipulare a unor astfel de structuri avansate sunt prezentate in capitolele urmatoare ale cursului
Structura secventa este din acest punct de vedere o structura intermediara;
Ea este o structura avansata din punctul de vedere al cardinalitatii care este infinita
Este insa atat de curent utilizata incat includerea sa in multimea structurilor fundamentale este consacrata.
Aceasta situatie este influentata si de faptul ca alegerea unui set potrivit de operatori referitori la structura secventa, permite implementatorilor sa adopte reprezentari potrivite si eficiente ale acestei structuri.
Drept consecinta, mecanismele alocarii dinamice a memoriei devin suficient de simple pentru a permite o implementare eficienta, neafectata de detalii, la nivel de limbaj superior.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |