De nøkkelforskjell mellom lineær og ikke-lineær datastruktur er det I lineære datastrukturer er organisering av dataelementer sekventielle mens i ikke-lineære datastrukturer, er organisasjonen av dataelementer ikke sekventiell.
En datastruktur er en metode for å organisere og lagre data, noe som vil tillate effektiv datainnhenting og bruk. Lineær datastruktur er en struktur som organiserer dataelementene etter hverandre. Organiseringen av lineære datastrukturer er lik organisasjonen av dataminnet. Konstruksjon av ikke-lineære datastrukturer skjer ved å feste et dataelement til flere andre dataelementer på en slik måte at den reflekterer et bestemt forhold mellom dem. Organisering av ikke-lineære datastrukturer er forskjellig fra datamaskinens minne.
1. Oversikt og nøkkelforskjell
2. Hva er lineære datastrukturer
3. Hva er ikke-lineære datastrukturer
4. Side ved side-sammenligning - Linjære vs ikke-lineære datastrukturer i tabellform
5. Sammendrag
Lineære datastrukturer organiserer deres dataelementer på en lineær måte, hvor hvert dataelement legger til en etter hverandre. I lineære datastrukturer krysser dataelementene seg etter hverandre, og bare ett element kan nås direkte under krysning. Videre er lineære datastrukturer veldig enkle å implementere, siden organisasjonen av dataminnet også er lineært.
Figur 01: Stabel Datastruktur
Noen vanlige lineære datastrukturer er arrayer, lister, stabler og køer. For det første er en matrise en samling dataelementer av samme type. Indeksen bidrar til å identifisere hvert element i gruppen. For det andre er en lenket liste en sekvens av noder, hvor hver node består av et dataelement og en referanse til neste node i sekvensen. For det tredje er en stabel også en lineær datastruktur. Det er bare mulig å legge til eller fjerne dataelementer fra toppen av listen. For det fjerde er en kø også en liste. Det tillater å legge til dataelementer fra den ene enden av listen og fjerne den fra den andre enden av listen.
I ikke-lineære datastrukturer er organisasjonen av dataelementene ikke på en sekvensiell måte. Det er mulig å feste et dataelement i en ikke-lineær datastruktur til flere andre dataelementer for å gjenspeile et spesielt forhold mellom dem. Videre er det ikke mulig å krysse gjennom elementene i en enkelt løp.
Figur 02: Tree Data Structure
Datastrukturer som trær og grafer er noen eksempler på ikke-lineære datastrukturer. For det første er et tre en datastruktur som består av et sett med knutte noder. Det tillater å representere et hierarkisk forhold mellom dataelementer. For det andre er en graf en datastruktur som består av et begrenset sett med kanter og hjørner. De vertikale lagrede dataelementene og kantene representerer forbindelsene eller forholdene mellom kryssene.
Lineære datastrukturer organiserer dataelementene på en sekvensiell måte, og det er mulig å krysse dataelementene i en enkelt runde i en linerdatastruktur. Videre er det lettere å implementere lineære datastrukturer. Array, Stack, Que, Linked List er noen eksempler på lineære datastrukturer.
Ikke-lineære datastrukturer organiserer ikke dataene på en sekvensiell måte, og det er ikke mulig å krysse dataelementene i en enkelt runde i en ikke-lineær datastruktur. Videre er det vanskelig å implementere ikke-lineære datastrukturer. Trær og graf er noen eksempler på ikke-lineære datastrukturer.
Forskjellen mellom lineær og ikke-lineær datastruktur er at i lineære datastrukturer er organisasjonen av dataelementer sekventielle mens i ikke-lineære datastrukturer, er organisasjonen av dataelementer ikke sekvensiell. Kort sagt, det er enkelt å implementere lineære datastrukturer i datamaskinens minne enn de ikke-lineære datastrukturene. Å velge en datastruktur type over den andre, bør gjøres nøye ved å vurdere forholdet mellom dataelementene som må lagres.
1. Nakum, Shail. "TYPER DATA STRUKTURER (LINEAR OG IKKE LINEAR) ...." LinkedIn SlideShare, 1. august 2016. Tilgjengelig her
1.Data stack'By Boivie - Eget arbeid (Public Domain) via Commons Wikimedia
2. 'Binært søketre'. Ingen maskinlesbar forfatter gitt. (Offentlig domene) via Commons Wikimedia