O structură de date este un concept din informatică care se referă la o anumită metodă de colectare și organizare a informațiilor. Toate structurile de date folosesc informații despre locul în care se află o anumită bucată de date în memoria unui computer pentru a accesa acele date și a le conecta la alte bucăți de date.
Structurile de date stabilesc unul dintre multele tipuri diferite de relații între informațiile individuale. Diferite tipuri de structură de date sunt mai eficiente pentru diferite scopuri, iar dificultatea codificării variază mult între tipurile de structură de date.
Matricele sunt printre cele mai simple structuri de date, dar sunt totuși instrumente foarte puternice pentru organizarea informațiilor. Într-o matrice, elementelor li se atribuie adrese de memorie secvențiale, permițând ca adresa de memorie a oricărui element din matrice să fie determinată foarte rapid folosind calcule matematice simple, un avantaj cheie. Matricele pot fi concepute ca existente în orice număr de dimensiuni. O matrice unidimensională poate fi conceptualizată ca o listă, o matrice bidimensională ca un tabel și o matrice tridimensională ca un cub de celule individuale. Pot exista și matrice de mai mult de trei dimensiuni.
Listele legate sunt un alt tip simplu, dar foarte important de structură de date. Într-o listă legată, fiecare nod constă dintr-o variabilă care conține atât date reale, cât și informații care identifică următorul element din listă. O listă legată poate fi astfel parcursă atâta timp cât adresa primului nod este cunoscută. Acest tip de structură de date este versatilă, deoarece se pretează unei creșteri dinamice, deoarece noduri noi pot fi alocate cu ușurință în orice moment. Adăugarea unei variabile care conține locația nodului anterior în listă permite parcurgerea acestui tip de structură de date în ambele direcții.
Arborii ordonează nodurile ierarhic, începând cu un nod rădăcină și coborând prin mai multe straturi de noduri până când toate datele necesare au fost acomodate în structură. De obicei, elementele dintr-un arbore sunt sortate într-un fel. Arborii pot implementa sortarea și pot oferi, potențial, acces mult mai rapid la datele stocate din acest motiv, deoarece fiecare ramificare elimină ramuri întregi de informații din considerație care ar trebui sortate într-o listă legată.
Tabelele hash sunt folosite pentru a determina o adresă de memorie în care o anumită bucată de date trebuie să fie stocată, folosind o ecuație pentru a transforma acele date într-o adresă de memorie. Ele pot fi o structură foarte eficientă pentru stocarea și preluarea datelor dintr-o matrice.
Toate structurile de date sunt concepute pentru a reduce numărul de instrucțiuni pe care un computer trebuie să le execute pentru a localiza o anumită informație. Diferite tipuri de date se pretează la diferite tipuri de structuri de date, dar majoritatea limbajelor de programare moderne oferă suport pentru o mare varietate de structuri de date sau oferă instrumentele care să permită programatorilor să-și codifice propriile structuri de date.