Det vigtigste forskel mellem lineær og ikke-lineær datastruktur er det i lineære datastrukturer er organisering af dataelementer sekventiel, mens organisationen af dataelementer i ikke-lineære datastrukturer ikke er sekventiel.
En datastruktur er en metode til organisering og lagring af data, der muliggør effektiv dataindsamling og -brug. Lineær datastruktur er en struktur, der organiserer dens dataelementer efter hinanden. Organiseringen af lineære datastrukturer ligner organisationen af computerhukommelsen. Konstruktion af ikke-lineære datastrukturer sker ved at knytte et dataelement til flere andre dataelementer på en sådan måde, at det afspejler et specifikt forhold mellem dem. Organisering af ikke-lineære datastrukturer er anderledes end computerens hukommelse.
1. Oversigt og nøgleforskel
2. Hvad er lineære datastrukturer
3. Hvad er ikke-lineære datastrukturer
4. Sammenligning side ved side - Lineære kontra ikke-lineære datastrukturer i tabelform
5. Opsummering
Lineære datastrukturer organiserer deres dataelementer på en lineær måde, hvor hvert dataelement knytter hinanden efter hinanden. I lineære datastrukturer gennemgår dataelementerne efter hinanden, og kun et element kan nås direkte, mens de krydser. Endvidere er lineære datastrukturer meget lette at implementere, da organiseringen af computerhukommelsen også er lineær.
Figur 01: Stakdatastruktur
Nogle ofte anvendte lineære datastrukturer er arrays, sammenkædede lister, stabler og køer. For det første er en matrix en samling af dataelementer af samme type. Indekset hjælper med at identificere hvert element i matrixen. For det andet er en sammenkoblet liste en sekvens af noder, hvor hver knude består af et dataelement og en henvisning til den næste knude i sekvensen. For det tredje er en stak også en lineær datastruktur. Det er kun muligt at tilføje eller fjerne dataelementer øverst på listen. For det fjerde er en kø også en liste. Det giver mulighed for at tilføje dataelementer fra den ene ende af listen og fjerne fra den anden ende af listen.
I ikke-lineære datastrukturer er organisationen af dataelementerne ikke i rækkefølge. Det er muligt at knytte et dataelement i en ikke-lineær datastruktur til flere andre dataelementer for at afspejle et specielt forhold mellem dem. Det er endvidere ikke muligt at gennemgå genstandene i en enkelt kørsel.
Figur 02: Trædatasstruktur
Datastrukturer som træer og grafer er nogle eksempler på ikke-lineære datastrukturer. For det første er et træ en datastruktur, der består af et sæt sammenkoblede noder. Det giver mulighed for at repræsentere et hierarkisk forhold mellem dataelementer. For det andet er en graf en datastruktur, der er sammensat af et begrænset sæt kanter og hjørner. De vertikale lagrede dataelementer og kanter repræsenterer forbindelserne eller sammenhængen mellem toppunktene.
Lineære datastrukturer organiserer dataelementerne på en sekventiel måde, og det er muligt at krydse dataelementerne i en enkelt kørsel i en linjedatastruktur. Desuden er det lettere at implementere lineære datastrukturer. Array, Stack, Queue, Linked List er nogle eksempler på lineære datastrukturer.
Ikke-lineære datastrukturer organiserer ikke dataene på en sekventiel måde, og det er ikke muligt at krydse dataelementerne i en enkelt kørsel i en ikke-lineær datastruktur. Derudover er det vanskeligt at implementere ikke-lineære datastrukturer. Træ og graf er nogle eksempler på ikke-lineære datastrukturer.
Forskellen mellem lineær og ikke-lineær datastruktur er, at i lineære datastrukturer er organisationen af dataelementer sekventiel, mens i ikke-lineære datastrukturer er organisationen af dataelementer ikke sekventiel. Kort sagt er det let at implementere lineære datastrukturer i computerhukommelsen end de ikke-lineære datastrukturer. Valg af en datastrukturtype over den anden skal udføres omhyggeligt ved at overveje forholdet mellem de dataelementer, der skal gemmes.
1. Nakum, Shail. “TYPES DATA STRUKTURER (LINEÆR OG IKKE LINEÆR)….” LinkedIn SlideShare, 1. august 2016. Findes her
1.'Data stack'By Boivie - Eget arbejde (Public Domain) via Commons Wikimedia
2. 'Binært søgetræ'By Ingen forfatter, der kan læses af maskinen. (Public Domain) via Commons Wikimedia