Podatkovna struktura je koncept iz računalništva, ki se nanaša na določeno metodo zbiranja in organiziranja informacij. Vse podatkovne strukture uporabljajo informacije o tem, kje se določen del podatkov nahaja v pomnilniku računalnika, da lahko dostopajo do teh podatkov in jih povežejo z drugimi deli podatkov.
Podatkovne strukture vzpostavljajo eno od mnogih različnih vrst odnosov med posameznimi deli informacij. Različne vrste podatkovnih struktur so učinkovitejše za različne namene, težavnost kodiranja pa se med vrstami podatkovne strukture močno razlikuje.
Nizi so med najpreprostejšimi podatkovnimi strukturami, vendar so kljub temu zelo zmogljiva orodja za organiziranje informacij. V matriki so elementom dodeljeni zaporedni pomnilniški naslovi, kar omogoča, da se pomnilniški naslov katerega koli elementa v matriki zelo hitro določi z uporabo preprostih matematičnih izračunov, kar je ključna prednost. Nize si lahko predstavljamo kot obstoječe v poljubnem številu dimenzij. Enodimenzionalni niz bi lahko konceptualizirali kot seznam, dvodimenzionalni niz kot tabelo in tridimenzionalni niz kot kocko posameznih celic. Obstajajo lahko tudi nizi več kot treh dimenzij.
Povezani seznami so še ena preprosta, a zelo pomembna vrsta podatkovne strukture. V povezanem seznamu je vsako vozlišče sestavljeno iz spremenljivke, ki vsebuje dejanske podatke in informacije, ki identificirajo naslednji element na seznamu. Po povezanem seznamu je tako mogoče prehoditi, dokler je znan naslov prvega vozlišča. Ta vrsta podatkovne strukture je vsestranska, saj je primerna za dinamično rast, saj je mogoče kadar koli zlahka dodeliti nova vozlišča. Dodajanje spremenljivke, ki vsebuje lokacijo prejšnjega vozlišča na seznamu, omogoča prehod te vrste podatkovne strukture v katero koli smer.
Drevesa razvrstijo vozlišča hierarhično, začenši s korenskim vozliščem in se spuščajo skozi več plasti vozlišč, dokler niso vsi potrebni podatki nameščeni v strukturi. Običajno so elementi znotraj drevesa razvrščeni na nek način. Drevesa lahko izvajajo razvrščanje in lahko zaradi tega zagotovijo veliko hitrejši dostop do shranjenih podatkov, saj vsako razvejanje izloči iz obravnave cele dele informacij, ki bi jih bilo treba razvrstiti na povezanem seznamu.
Razpršene tabele se uporabljajo za določitev pomnilniškega naslova, v katerem naj bo določen del podatkov shranjen z uporabo enačbe za pretvorbo teh podatkov v pomnilniški naslov. Lahko so zelo učinkovita struktura za shranjevanje in pridobivanje podatkov iz matrike.
Vse podatkovne strukture so zasnovane tako, da zmanjšajo število navodil, ki jih mora izvesti računalnik, da najde določeno informacijo. Različne vrste podatkov so primerne za različne vrste podatkovnih struktur, vendar večina sodobnih programskih jezikov ponuja podporo za široko paleto podatkovnih struktur ali zagotavlja orodja, ki programerjem omogočajo kodiranje lastnih podatkovnih struktur.