Lineárna štruktúra údajov predstavuje štruktúru údajov s jedinou úrovňou, zatiaľ čo nelineárne dátové štruktúry predstavujú viacúrovňovú dátovú štruktúru. Štruktúra údajov opisuje, ako sa údaje organizujú, pristupujú, združujú a spracovávajú.
Porovnávacia tabuľka
Základ pre porovnanie | Lineárna štruktúra údajov | Nelineárna štruktúra údajov |
---|---|---|
základné | Dátové položky sú usporiadané usporiadaným spôsobom, kde sú prvky pripevnené vedľa seba. | Zoradí dáta v triedenom poradí a medzi údajovými prvkami existuje vzťah. |
Prekročenie údajov | Dátové prvky sa dajú pristupovať naraz (jediné spustenie). | Vysunutie dátových prvkov nie je možné. |
Jednoduchá implementácia | jednoduchšie | komplexné |
Príslušné úrovne | Jedna úroveň | Viacnásobná úroveň |
Príklady | Array, fronta, zásobník, prepojený zoznam atď. | Strom a graf. |
Využitie pamäte | neúčinný | efektívna |
Definícia štruktúry lineárnych údajov
Štruktúra údajov sa považuje za lineárnu, ak dátové prvky konštruujú sekvenciu lineárneho zoznamu. Prvky sú vzájomne pripevnené vedľa seba a v určitom poradí. Spotreba lineárneho pamäťového priestoru, dátové prvky sa vyžadujú na ukladanie postupne do pamäte. Pri realizácii štruktúry lineárnych údajov sa predtým vyhlasuje potrebné množstvo pamäte. Nepoužíva dobré využitie pamäte a má za následok plytvanie pamäti. Datový prvok sa postupne navštevuje, kde je možné priamo získať len jeden prvok.
Príklady zahrnuté v štruktúre lineárnych údajov sú pole, zásobník, fronta, prepojený zoznam atď. Pole je skupina určitého počtu homogénnych prvkov alebo dátových položiek. Stack a fronta sú tiež usporiadanou kolekciou prvkov ako pole, ale existuje špeciálna podmienka, kde stoh nasleduje po LIFO (posledný v prvom out) príkaze a fronta používajú FIFO (First in first out) na vloženie a odstránenie prvkov. Zoznamy je možné definovať ako súbor položiek údajov s premenlivým číslom.
Definícia nelineárnej štruktúry údajov
Nelineárna dátová štruktúra neusporaduje údaje postupne skôr, že sú usporiadané v triedenom poradí. Prvky údajov môžu byť pripojené k viac ako jednému prvku vykazujúcemu hierarchický vzťah, ktorý zahŕňa vzťah medzi dieťaťom, rodičom a starým rodičom. V nelineárnej dátovej štruktúre nie je postupovanie dátových prvkov a vloženie alebo vymazávanie vykonávané postupne.
Nelineárna dátová štruktúra efektívne využíva pamäť a nevyžaduje vopred vyhlásenie o pamäti. Existujú dva bežné príklady nelineárnej dátovej štruktúry - stromu a grafu . Štruktúra dát stromu organizuje a ukladá dátové prvky v hierarchickom vzťahu.
Kľúčové rozdiely medzi lineárnou a nelineárnou štruktúrou údajov
- V štruktúre lineárnych údajov sú údaje usporiadané v lineárnom poradí, v ktorom sú prvky navzájom spojené. Oproti tomu v nelineárnej dátovej štruktúre nie sú dátové prvky uložené sekvenčne, skôr sú prvky hierarchicky spojené.
- Prenos dát v štruktúre lineárnych údajov je jednoduchý, pretože umožňuje, aby sa všetky dátové prvky prechádzali jedným krokom, ale v danom čase je možné dosiahnuť len jeden prvok. Naopak, v nelineárnej dátovej štruktúre, uzly nie sú navštívené postupne a nemôžu byť prekonané jedným krokom.
- Dátové prvky sú v štruktúre lineárnych údajov pripojené vedľa seba, čo znamená, že len dva prvky môžu byť prepojené s dvomi ďalšími prvkami, kým to nie je prípad v nelineárnej dátovej štruktúre, kde jeden dátový prvok môže byť pripojený k mnohým ďalším prvkom.
- Lineárne dátové štruktúry sa dajú ľahko implementovať vzhľadom na nelineárnu dátovú štruktúru.
- Jedna úroveň prvkov je začlenená do lineárnej dátovej štruktúry. Nelineárna štruktúra údajov naopak obsahuje viac úrovní.
- Príklady štruktúry lineárnych údajov sú pole, fronta, zásobník, prepojený zoznam atď. Naproti tomu strom a graf sú príklady nelineárnej dátovej štruktúry.
- Pamäť sa efektívne využíva v nelineárnej dátovej štruktúre, kde štruktúra lineárnych údajov má tendenciu plytvať pamäťou.
záver
Lineárne dátové štruktúry zahŕňajú jednu úroveň dátových prvkov a predstavujú lineárny vzťah. Na druhej strane, nelineárna dátová štruktúra je údajne viacúrovňová dátová štruktúra, ktorá predstavuje hierarchický vzťah medzi dátami.