En programació, una estructura de dades és una forma d'organitzar un conjunt de dades elementals amb l'objectiu de facilitar la seva manipulació, i per aconseguir un accés eficient a les dades que conté.[1][2][3] De forma més precisa, una estructura de dades és una col·lecció de valors de dades, les relacions entre elles i les funcions o operacions que es poden aplicar a aquestes dades,[4] és a dir, és una estructura algebraica sobre dades.
Una dada elemental és la mínima informació que es té en un sistema, i una estructura de dades defineix l'organització i interrelació d'aquests i un conjunt d'operacions que es poden realitzar sobre ells. Les operacions bàsiques són:
Altres operacions que es poden realitzar són:
Cada estructura ofereix avantatges i desavantatges en relació a la simplicitat i eficiència per a la realització de cada operació. D'aquesta forma, l'elecció de l'estructura de dades apropiada per a cada problema depèn de factors com la freqüència i l'ordre que es realitza cada operació sobre les dades.