Den lineære datastruktur er en enkelt niveau datastruktur, mens ikke-lineære datastrukturer er multilevel datastrukturen. Datastrukturen beskriver tidligere, hvordan dataene organiseres, åbnes, tilknyttes og behandles.
Sammenligningstabel
Grundlag for sammenligning | Lineær datastruktur | Ikke-lineær datastruktur |
---|---|---|
Grundlæggende | Dataposterne er ordnet på en ordnet måde, hvor elementerne er vedhæftet ved siden af hinanden. | Det arrangerer dataene i en sorteret rækkefølge, og der eksisterer et forhold mellem dataelementerne. |
Traversering af dataene | Dataelementerne kan fås på én gang (single run). | Det er ikke muligt at krydse dataelementerne på én gang. |
Let implementering | enklere | Kompleks |
Niveauer involveret | Enkelt niveau | Flere niveauer |
eksempler | Array, kø, stak, linket liste osv. | Træ og graf. |
Hukommelsesudnyttelse | Ineffektiv | Effektiv |
Definition af lineær datastruktur
Datastrukturen anses for at være lineær, hvis dataelementerne konstruerer en sekvens af en lineær liste. Elementerne er adjacently knyttet til hinanden og i en bestemt rækkefølge. Den bruger lineær hukommelsesplads, dataelementerne skal lagres på en sekventiel måde i hukommelsen. Under gennemførelsen af den lineære datastruktur er den nødvendige mængde hukommelse erklæret tidligere. Det gør ikke en god udnyttelse af hukommelsen og resulterer i hukommelsesspild. Dataelementet bliver besøgt i rækkefølge, hvor kun et enkelt element kan nås direkte.
Eksemplerne i den lineære datastruktur er array, stack, kø, linket liste osv. Et array er en gruppe af et bestemt antal homogene elementer eller dataposter. Stack og kø er også en ordnet samling af elementerne som et array, men der er en særlig betingelse, hvor stakken følger LIFO (sidst i første ud) ordre og kø bruger FIFO (først i første ud) for at indsætte og slette elementerne. Lister kan defineres som et sæt af variable nummerdataelementer.
Definition af ikke-lineær datastruktur
Ikke-lineær datastruktur arrangerer ikke dataene efter hinanden, men det arrangeres i rækkefølge. I dette kan dataelementerne være knyttet til mere end et element, der udviser det hierarkiske forhold, der involverer forholdet mellem barnet, forældre og bedsteforældre. I den ikke-lineære datastruktur udføres ikke krydset af dataelementer og insertion eller deletion i rækkefølge.
Den ikke-lineære datastruktur udnytter hukommelsen effektivt og kræver ikke hukommelsesdeklarationen på forhånd. Der er de to almindelige eksempler på den ikke-lineære datastruktur - træ og graf . En trædatastruktur organiserer og lagrer dataelementerne i et hierarkisk forhold.
Nøgleforskelle mellem lineær og ikke-lineær datastruktur
- I den lineære datastruktur organiseres dataene i en lineær rækkefølge, hvori elementer er koblet hinanden efter hinanden. I modsætning til i den ikke-lineære datastruktur lagres dataelementerne ikke på en sekventiel måde, men elementerne er hierarkisk relaterede.
- Krydsning af data i den lineære datastruktur er let, da det kan gøre alle dataelementerne omkreds på én gang, men ad gangen er kun et element direkte tilgængeligt. Tværtimod, i den ikke-lineære datastruktur besøges noderne ikke sekventielt og kan ikke krydses på en gang.
- Dataelementer er sidestillet fastgjort i den lineære datastruktur, hvilket betyder, at kun to elementer kan knyttes til to andre elementer, mens dette ikke er tilfældet i den ikke-lineære datastruktur, hvor et dataelement kan forbindes med mange andre elementer.
- De lineære datastrukturer implementeres let i forhold til den ikke-lineære datastruktur.
- Et enkelt niveau af elementer er indarbejdet i den lineære datastruktur. Omvendt involverer ikke-lineær datastruktur flere niveauer.
- Eksempler på den lineære datastruktur er array, kø, stack, linket liste mv. I modsætning hertil er træ og graf eksemplerne på den ikke-lineære datastruktur.
- Hukommelsen udnyttes effektivt i den ikke-lineære datastruktur, hvor lineær datastruktur har tendens til at spilde hukommelsen.
Konklusion
De lineære datastrukturer inddrager et enkelt niveau af dataelementer og repræsenterer det lineære forhold. På den anden side siges den ikke-lineære datastruktur at være multi-level datastruktur udgør et hierarkisk forhold mellem dataene.