Vad är en länkad datastruktur?

En länkad datastruktur är en samling data ordnade i ett listliknande format. Varje datum i listan kallas en nod. Varje nod är kopplad till nästa på listan genom en referens till minnesadressen för den efterföljande noden. Länkade datastrukturer används i stället för en array när antalet noder på en lista är okänt eller kan växa eller krympa under loppet av körning av programmet Den vanligaste typen av länkad datastruktur kallas en länkad lista.

En nod i en länkad datastruktur innehåller i allmänhet två delar av information — en referens till den faktiska data som lagras och en referens till nästa nod på listan. En länkad lista korsas, eller genomsöks, genom att stega genom var och en av datanoderna, med början vid den första, eller listans huvud. Det finns inget sätt att hitta information i en länkad lista utan att sekventiellt flytta genom noderna från början till slut.

De flesta länkade datastrukturer kommer att använda så lite minne som möjligt under programexekveringen. Om en länkad lista skapas med endast en nod och inga andra noder läggs till, kommer den listan att ta upp minne krävs för endast en nod. Detta står i skarp kontrast till en arraydatastruktur där storleken på hela arrayen måste deklareras och allokeras i början av programmet och inte kan ändras .

Länkade listor betalar för sin effektiva användning av minnesresurser genom att kräva mer datorkraft. Att hitta en specifik del av data i en länkad lista kräver att man går igenom hela listan varje gång, så det kan vara långsammare att komma åt information i mitten av listan. Att ta bort eller ändra ordning på data i en länkad lista kan också vara mer beräkningskrävande än att hantera en array där element enkelt kan bytas ut.

En länkad datastruktur behöver inte bara ha en referens till nästa nod; den kan ha flera. Vissa länkade listor har två nodreferenser, en till nästa nod i listan och en till föregående nod. Dessa är kända som dubbellänkade listor. Detta kan göra att man flyttar genom en lista i båda riktningarna mycket snabbare, dock på bekostnad av ökad minnesanvändning för datastrukturen.

Det är möjligt för länkade listor att ha tre eller fler referenser till andra noder i listan. Detta skapar en struktur som liknar ett träd med hela grenar av noder som leker från en enda. Dessa typer av data strukturer kallas multiplicera länkade listor. Multiplicera länkade listor är särskilt användbara för komplexa sorteringsalgoritmer som används för att strukturera data. Sökträd är möjliga till stor del på grund av användningen av länkade datastrukturer för att skapa flera grenar med variabel längd.