În informatică, o structură de date este o metodă sistematică de stocare a informațiilor și datelor într-un calculator, în așa fel încât ele să poată fi folosite în mod eficient. Deseori o alegere bine făcută a structurii de date va permite și implementarea unui algoritm eficient. Structura de date aleasă este derivată de multe ori dintr-un tip de dată abstract. O structură de date bine concepută permite efectuarea unei varietăți de operații de bază, utilizând puține resurse (ca de exemplu memoria necesară și timpul de execuție). Structurile de date se implementează utilizând tipuri de date, referințe și operații asupra acestora, toate facilitate de către un limbaj de programare.

Un arbore binar este un tip simplu de structură de date.

Caracteristici

modificare

Există anumite tipuri de structuri de date care sunt foarte specializate pe anumite sarcini/aplicații. De exemplu, arborii B sunt foarte potriviți pentru implementarea bazelor de date, în timp ce tabelele de rutare se folosesc îndeosebi pentru interconectarea elementelor din rețelele de calculatoare.

În designul multor tipuri de programe, alegerea structurii de date este principalul obiectiv al specificațiilor de implementare. Experiența în construirea sistemelor informatice mari a arătat că dificultatea implementării, precum și calitatea și performanța produsului final depind în mare măsură de alegerea structurilor de date. Dacă tipurile de structuri de date au fost alese în mod avantajos, algoritmii ce trebuie utilizați devin de multe ori aproape evidenți. Câteodată însă situația este mai complicată; atunci structurile de date sunt alese pe baza necesităților sarcinilor cheie.

Pentru multe metode formale de design și limbaje de programare factorul organizatoric cheie sunt structurile de date, și nu algoritmii. Majoritatea limbajelor dispun de un modul sistem anume, care permite reutilizarea structurilor de date și pentru alte aplicații, prin ascunderea detaliilor de implementare, sigure și verificate, în spatele unor interfețe controlate. De exemplu, limbajele de programare orientate pe obiecte C++ și Java utilizează în acest scop așa-numitele clase.

Din cauză că structurile de date au o importanță atât de mare, multe dintre ele sunt incluse în bibliotecile standard ale multor limbaje de programare și medii de dezvoltare, cum ar fi Standard Template Library pentru C++, și Java Collections Framework.

Elementele fundamentale pentru construirea structurilor de date sunt vectorii, înregistrările, structurile de tip uniune (union), și referințele. De exemplu, referința invalidabilă, o referință ce poate conține valoarea „nulă” (zero), este o combinație de referințe și structuri de tip „uniune”, iar cel mai simplu model de structură de date înlănțuite, lista simplu înlănțuită, este construită din înregistrări și referințe invalidabile.

Structurile de date reprezintă implementări ale unor interfețe: o structură de date poate fi văzută ca o interfață între două funcții sau ca o implementare a metodelor de accesare a depozitului care este organizat în concordanță cu tipul de dată asociat

Structuri de date

modificare

Vezi și

modificare

Legături externe

modificare