
Den lineære datastrukturen er et enkeltnivå datastruktur, mens ikke-lineære datastrukturer er multilevel datastrukturen. Datastrukturen beskriver tidligere hvordan dataene er organisert, åpnet, tilknyttet og behandlet.
Sammenligningstabel
Grunnlag for sammenligning | Lineær datastruktur | Ikke-lineær datastruktur |
---|---|---|
grunn~~POS=TRUNC | Datapostene er ordnet på en ordnet måte hvor elementene er festet ved siden av. | Det ordner dataene i en sortert rekkefølge, og det eksisterer et forhold mellom dataelementene. |
Traversering av dataene | Dataelementene kan nås på en gang (single run). | Det er ikke mulig å krysse dataelementene på en gang. |
Enkel implementering | enklere | Complex |
Nivåer involvert | Enkeltnivå | Flere nivåer |
eksempler | Array, kø, stabel, koblet liste, etc. | Trær og graf. |
Minneutnyttelse | ineffektiv | effektiv |
Definisjon av lineær datastruktur
Datastrukturen anses å være lineær dersom dataelementene konstruerer en sekvens av en lineær liste. Elementene er festet til hverandre og i en bestemt rekkefølge. Den bruker lineær minneplass, dataelementene må lagres på en sekvensiell måte i minnet. Mens implementering av den lineære datastrukturen er de nødvendige minneene deklarert tidligere. Det gjør ikke en god utnyttelse av minne og resulterer i minneavfall. Dataelementet blir besøkt i rekkefølge hvor bare et enkelt element kan nås direkte.
Eksemplene som inngår i den lineære datastrukturen er array, stabell, kø, koblet liste, etc. Et array er en gruppe med et bestemt antall homogene elementer eller dataposter. Stack og kø er også en bestilt samling av elementene som en matrise, men det er en spesiell tilstand hvor stabelen følger LIFO (sist i første ut) rekkefølge og kø bruker FIFO (først i første ut) for å sette inn og slette elementene. Lister kan defineres som et sett med variabel nummer dataposter.
Definisjon av ikke-lineær datastruktur
Ikke-lineær datastruktur ordner ikke dataene etter hvert, men det er ordnet i rekkefølge. I dette kan dataelementene knyttes til mer enn ett element som viser det hierarkiske forholdet som involverer forholdet mellom barnet, foreldre og besteforeldre. I den ikke-lineære datastrukturen blir ikke krysset av dataelementer og innsetting eller sletting utført i rekkefølge.
Den ikke-lineære datastrukturen utnytter minnet effektivt og krever ikke minnedeklarasjonen på forhånd. Det er de to vanlige eksemplene på den ikke-lineære datastrukturen - tre og graf . En tredata struktur organiserer og lagrer dataelementene i et hierarkisk forhold.
Viktige forskjeller mellom lineær og ikke-lineær datastruktur
- I den lineære datastrukturen er dataene organisert i en lineær rekkefølge hvor elementene knyttes sammen etter hverandre. I motsetning til, i den ikke-lineære datastrukturen lagres dataelementene ikke på en sekvensiell måte, men elementene er hierarkisk relaterte.
- Traversering av data i den lineære datastrukturen er enkel, da det kan gjøre at alle dataelementene blir krysset på en gang, men om gangen er det bare ett element som kan nås direkte. Tvert imot, i den ikke-lineære datastrukturen, blir ikke nodene besøkt i rekkefølge og kan ikke krysses på en gang.
- Dataelementer er ved siden av den lineære datastrukturen, noe som betyr at kun to elementer kan kobles til to andre elementer, mens dette ikke er tilfelle i den ikke-lineære datastrukturen der ett dataelement kan kobles til mange andre elementer.
- De lineære datastrukturene blir enkelt implementert i forhold til den ikke-lineære datastrukturen.
- Et enkelt nivå av elementer er innarbeidet i den lineære datastrukturen. Omvendt innebærer ikke-lineær datastruktur flere nivåer.
- Eksempler på den lineære datastrukturen er matrise, kø, stabel, koblet liste etc. I kontrast er tre og graf eksemplene på den ikke-lineære datastrukturen.
- Minnet utnyttes effektivt i den ikke-lineære datastrukturen der lineær datastruktur har en tendens til å kaste bort minnet.
Konklusjon
De lineære datastrukturene innebærer et enkelt nivå av dataelementer og representerer det lineære forholdet. På den annen side er den ikke-lineære datastrukturen sies å være en multi-level datastruktur utgjør et hierarkisk forhold mellom dataene.