Lineaarne andmestruktuur on ühe tasandi andmestruktuur, samas kui mittelineaarsed andmestruktuurid on mitmetasandiline andmestruktuur. Andmestruktuur kirjeldab eelnevalt, kuidas andmeid organiseeritakse, neile ligipääsetakse, nendega seotud ja töödeldakse.
Võrdluskaart
Võrdluse alus | Lineaarne andmestruktuur | Mittelineaarne andmestruktuur |
---|---|---|
Põhiline | Andmed on paigutatud korrapäraselt, kui elemendid on külgnevalt ühendatud. | See korraldab andmed sorteeritud järjekorras ja andmete elementide vahel on seos. |
Andmete liikumine | Andmeelementidele pääseb ligi ühekordselt (ühekordne käivitamine). | Andmeelementide liikumine ühel korral ei ole võimalik. |
Rakendamise lihtsus | Lihtsam | Kompleks |
Asjaomased tasemed | Ühe taseme tase | Mitu taset |
Näited | Array, järjekord, virn, seotud nimekiri jne | Puu ja graaf. |
Mälu kasutamine | Ebaefektiivne | Tõhus |
Lineaarse andmestruktuuri määratlus
Andmestruktuuri loetakse lineaarseks, kui andmeelementid koostavad lineaarse loendi. Elemendid on omavahel ja kindlas järjekorras külgnevalt ühendatud. See tarbib lineaarset mäluruumi, andmeelemente on vaja salvestada järjestikusel viisil mälus. Lineaarset andmestruktuuri rakendades deklareeritakse eelnevalt vajalik kogus mälu. See ei muuda mälu hästi ja toob kaasa mälu raiskamise. Andmeelementi külastatakse järjestikku, kus on võimalik saavutada ainult üks element.
Lineaarses andmestruktuuris sisalduvad näited on massiiv, virn, järjekord, seotud loend jne. Massiiv on kindla arvu homogeensete elementide või andmeühikute rühm. Stack ja järjekord on ka tellitud kogum elemente nagu massiiv, kuid on olemas eritingimus, kus korstnat järgib LIFO (Last in first out) järjekorras ja järjekorda kasutatakse FIFO (First in first out) elementide sisestamiseks ja kustutamiseks. Loendeid saab defineerida muutuvate arvandmetena.
Mittelineaarse andmestruktuuri määratlus
Mittelineaarne andmestruktuur ei korralda andmeid järjestikku, vaid on järjestatud järjestuses. Sellega saab andmeelemente kinnitada rohkem kui ühele elemendile, millel on hierarhiline suhe, mis hõlmab suhet lapse, vanema ja vanavanema vahel. Mittelineaarses andmestruktuuris ei toimu andmeelementide liikumist ja sisestamist või kustutamist järjestikku.
Mittelineaarne andmestruktuur kasutab mälu tõhusalt ja ei nõua eelnevalt mälu deklaratsiooni. Mittelineaarsete andmete struktuuri kohta on kaks üldist näidet - puu ja graafik . Puitandmete struktuur korraldab ja salvestab andmeelemendid hierarhilistes suhetes.
Põhilised erinevused lineaarsete ja mittelineaarsete andmestruktuuride vahel
- Lineaarses andmestruktuuris on andmed organiseeritud lineaarses järjekorras, milles elemendid on omavahel seotud. Seevastu mittelineaarses andmestruktuuris ei salvestata andmeelemente järjestikku, vaid elemendid on hierarhiliselt seotud.
- Andmete liikumine lineaarses andmestruktuuris on lihtne, sest see võib muuta kõik andmeelemendid ühekordselt läbitavaks, kuid korraga on ainult üks element otse kättesaadav. Vastupidi, mittelineaarses andmestruktuuris ei käi sõlmed järjestikku ja neid ei saa ühekordselt läbida.
- Andmeelemendid on lineaarses andmestruktuuris külgnevalt ühendatud, mis tähendab, et ainult kaks elementi saab siduda kahe teise elemendiga, samas kui mittelineaarses andmestruktuuris ei ole see nii, kus üks andmeelement võib olla ühendatud paljude teiste elementidega.
- Lineaarsed andmestruktuurid on kergesti rakendatavad mittelineaarsete andmestruktuuride suhtes.
- Lineaarsesse andmestruktuuris on üks elementide tase. Seevastu mittelineaarne andmestruktuur hõlmab mitut tasandit.
- Lineaarse andmestruktuuri näited on massiiv, järjekord, korstnat, seotud loend jne. Seevastu puud ja graaf on mittelineaarse andmestruktuuri näited.
- Mälu kasutatakse tõhusalt mittelineaarses andmestruktuuris, kus lineaarne andmestruktuur kipub raiskama mälu.
Järeldus
Lineaarsed andmestruktuurid hõlmavad andmeelementide ühte taset ja esindavad lineaarset suhet. Teisest küljest öeldakse, et mittelineaarne andmestruktuur on mitmetasandiline andmestruktuur, mis kujutab endast andmete hierarhilist suhet.