De lineaire gegevensstructuur is een gegevensstructuur op één niveau, terwijl niet-lineaire gegevensstructuren de gegevensstructuur op meerdere niveaus zijn. De datastructuur beschrijft eerder hoe de gegevens worden georganiseerd, geopend, gekoppeld en verwerkt.
Vergelijkingstabel
Basis voor vergelijking | Lineaire datastructuur | Niet-lineaire gegevensstructuur |
---|---|---|
basis- | De gegevensitems zijn op een ordelijke manier gerangschikt, waarbij de elementen naast elkaar zijn bevestigd. | Het rangschikt de gegevens in een gesorteerde volgorde en er bestaat een relatie tussen de gegevenselementen. |
Doorzoeken van de gegevens | De gegevenselementen zijn in één keer toegankelijk (enkele uitvoering). | Het in één keer doorlopen van gegevenselementen is niet mogelijk. |
Gemak van implementatie | eenvoudiger | Complex |
Niveaus betrokken | Eén niveau | Meerdere niveaus |
Voorbeelden | Array, wachtrij, stapel, gekoppelde lijst, etc. | Boom en grafiek. |
Geheugen gebruik | Niet effectief | effectief |
Definitie van lineaire gegevensstructuur
De gegevensstructuur wordt als lineair beschouwd als de gegevenselementen een reeks van een lineaire lijst construeren. De elementen zijn naast elkaar en in een bepaalde volgorde bevestigd. Het verbruikt lineaire geheugenruimte, de gegevenselementen zijn nodig om op een sequentiële manier in het geheugen op te slaan. Bij het implementeren van de lineaire gegevensstructuur wordt de benodigde hoeveelheid geheugen eerder gedeclareerd. Het maakt geen goede benutting van het geheugen en resulteert in geheugenverspilling. Het data-element wordt sequentieel bezocht, waar slechts een enkel element direct kan worden bereikt.
De voorbeelden in de lineaire gegevensstructuur zijn matrix, stapel, wachtrij, gekoppelde lijst, enzovoort. Een array is een groep van een bepaald aantal homogene elementen of gegevensitems. Stapel en wachtrij zijn ook een geordende verzameling van de elementen, zoals een reeks, maar er is een speciale voorwaarde waarbij stapel volgt op LIFO (Laatste in eerste uit) volgorde en wachtrij gebruik FIFO (Eerste in eerste uit) om de elementen in te voegen en te verwijderen. Lijsten kunnen worden gedefinieerd als een reeks variabele nummergegevensitems.
Definitie van niet-lineaire gegevensstructuur
Niet-lineaire gegevensstructuur rangschikt de gegevens niet opeenvolgend, maar is gerangschikt in gesorteerde volgorde. Hierin kunnen de gegevenselementen worden gekoppeld aan meer dan één element dat de hiërarchische relatie vertoont die de relatie tussen het kind, de ouder en de grootouder omvat. In de niet-lineaire gegevensstructuur wordt het doorlopen van gegevenselementen en invoegen of verwijderen niet opeenvolgend uitgevoerd.
De niet-lineaire gegevensstructuur maakt efficiënt gebruik van het geheugen en vereist niet vooraf de geheugenverklaring. Er zijn de twee veelvoorkomende voorbeelden van de niet-lineaire gegevensstructuur - boom en grafiek . Een boomgegevensstructuur ordent en slaat de gegevenselementen op in een hiërarchische relatie.
Belangrijkste verschillen tussen lineaire en niet-lineaire gegevensstructuur
- In de lineaire gegevensstructuur zijn de gegevens georganiseerd in een lineaire volgorde waarin elementen achter elkaar worden gekoppeld. Daar tegenover staan in de niet-lineaire gegevensstructuur de gegevenselementen niet sequentieel opgeslagen, maar zijn de elementen hiërarchisch verwant.
- Het doorlopen van gegevens in de lineaire gegevensstructuur is eenvoudig omdat het alle gegevenselementen in één keer kan doorlopen, maar op een moment is slechts één element direct bereikbaar. Integendeel, in de niet-lineaire gegevensstructuur worden de knooppunten niet sequentieel bezocht en kunnen ze niet in één keer worden doorlopen.
- Gegevenselementen worden naast elkaar in de lineaire gegevensstructuur bevestigd, wat betekent dat slechts twee elementen aan twee andere elementen kunnen worden gekoppeld, terwijl dit niet het geval is in de niet-lineaire gegevensstructuur, waarbij een gegevenselement met tal van andere elementen kan worden verbonden.
- De lineaire gegevensstructuren kunnen eenvoudig worden geïmplementeerd ten opzichte van de niet-lineaire gegevensstructuur.
- Een enkel niveau van elementen is opgenomen in de lineaire gegevensstructuur. Omgekeerd omvat niet-lineaire gegevensstructuur meerdere niveaus.
- Voorbeelden van de lineaire gegevensstructuur zijn matrix, wachtrij, stapel, gekoppelde lijst, enzovoort. Boomstructuur en grafiek zijn daarentegen de voorbeelden van de niet-lineaire gegevensstructuur.
- Het geheugen wordt efficiënt gebruikt in de niet-lineaire gegevensstructuur waar lineaire gegevensstructuur de neiging heeft het geheugen te verspillen.
Conclusie
De lineaire gegevensstructuren omvatten een enkel niveau van gegevenselementen en vertegenwoordigen de lineaire relatie. Aan de andere kant, de niet-lineaire datastructuur is naar verluidt multi-level datastructuur vormen een hiërarchische relatie tussen de gegevens.