Länkad lista

Från Wikipedia

Inom datavetenskap är en länkad lista en linjär följd av noder, även ibland kallat för celler, som länkas ihop med pekare. Noterbart är att till skillnad från en struktur som fält kan listans storlek, antalet noder, minska eller öka med enkel minneshantering. En länkad lista kan vara enkel- och dubbelriktad, där en enkelriktad endast kan traverseras från första till sista nod.

En länkad lista där varje nod har ett värde och en adress till nästkommande. Noter att den sista noden är null.
En länkad lista där varje nod har ett värde och en adress till nästkommande. Noter att den sista noden är null.

En nod består av två fält; ett informationsfält och ett adressfält. Informationsfältet är det data som ska sparas. Adressfältet innehåller adressen till nästa nod i listan eller ett speciellt värde, null, om det inte finns fler noder.

Prestanda[redigera | redigera wikitext]

Fördelar[redigera | redigera wikitext]

  • Kan växa och minska i storlek efter behov
  • Element kan läggas till och tas bort var som helst i listan.

Nackdelar[redigera | redigera wikitext]

  • För att hitta en nod n måste man tillämpa linjärsökning, det vill säga söka igenom var och en av n-1 noder innan nod n hittas. Anledningen är att det finns ingen relation mellan en nods position i listan och minnesadressen som den finns lagrad på.

Användningsområden[redigera | redigera wikitext]

I de fall man har dynamiskt data där mängden inte är känd på förhand, data kanske måste läggas till och tas bort i mitten, och man inte har några krav på effektiv sökning är en länkad lista ett utmärkt val.

Stackar och köer implementeras med fördel över en länkad lista om man vill att de ska kunna växa och minska dynamiskt i storlek.

Gör man en länkad lista, där informationsfältet i varje nod i sin tur pekar på en länkad lista och så vidare (en länkad lista av länkade listor av länkade listor... med andra ord), får man ett träd.

Referenser[redigera | redigera wikitext]


Den här artikeln är helt eller delvis baserad på material från en annan språkversion av Wikipedia.