Partea3 - 3 Implementarea modelelor de date Programele...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
3 Implementarea modelelor de date Programele pentru calculatoare utilizează de obicei tabele de informaţii care presupun anumite relaţii structurale între datele care le compun. Aceste relaţii structurale diferenţiază mai multe modele de organizare a datelor, dintre care cele mai importante sunt: liste, arbori, mulţimi. Toate aceste modele se reprezintă în programare prin colecţii de date care, în programarea orientată pe obiecte, se implementează prin clase (tipuri definite de utilizator). Fiecare programator îşi poate defini propriile implementări ale modelelor de date, sau poate să folosească unele tipuri definite în bibliotecile sistemului, pe care le modifică în mod corespunzător cerinţelor aplicaţiei. În ambele situaţii, însă, este necesară cunoaşterea modului de organizare internă a unor astfel de modele de date, precum şi posibilităţile de reprezentare şi de exploatare a acestora prin intermediul claselor de colecţii, a claselor container şi a claselor template. Reprezentarea colecţiilor de date prin intermediul claselor derivate şi al claselor template vor fi prezentate în secţiunile 5 şi, respectiv, 7. 3.1 Liste liniare O listă liniară este o secvenţă finită de elemente de un tip dat. Secvenţa în care apar elementele este definitorie. De exemplu, lista ( a 1 , a 2 , …… a n ) este diferită de lista ( a 2 , a 1 , ….. a n ). De asemenea, în listă este posibil să existe elemente cu acceaşi valoare (elemente duplicat, ceea ce în mulţimi nu este admis). Lungimea listei este dată de numărul de elemente în listă. Modelul de listă include şi lista vidă, care are zero elemente. Dacă lista nu este vidă, atunci ea conţine un element de început, numit capul listei ( head ), iar restul elementelor se numeşte coada listei ( tail ). Elementele listei pot fi identificate prin poziţia lor în listă, un index i , care poate avea valori 1 i n , unde n este lungimea listei. De multe ori, (mai ales în implementările în limbajul C), elementele listei se indexează de la 0 la n-1 , aşa cum sunt indexate datele în tablourile din C. 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
O sublistă este formată dintr-o parte a elementelor unei liste, cu indici cuprinşi între i şi j , ( a i , a i+1 , a j ) unde 1 i j n. Operaţiile care se pot executa asupra listelor sunt foarte variate: inserări, extrageri, căutări, concatenări, divizări, sortări. Dintre acestea, primele trei operaţii sunt operaţii fundamentale de tip dicţionar: Operaţia de inserare constă în adăugarea unui nou element x unei liste L . Poziţia în care se poate insera noul element este oricare poziţie în listă: înaintea primului element (în această situaţie se modifică capul listei), după ultimul element, sau între oricare două elemente. Este admisă inserarea unui nou element care are aceeaşi valoare cu un alt element component al listei. Operaţia de ştergere
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 31

Partea3 - 3 Implementarea modelelor de date Programele...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online