Lineární datová struktura je jednotná datová struktura, zatímco nelineární datové struktury jsou víceúrovňovou strukturou dat. Datová struktura předem popisuje, jak jsou data organizována, zpřístupňována, sdružována a zpracovávána.
Srovnávací graf
Základ pro srovnání | Lineární datová struktura | Nelineární datová struktura |
---|---|---|
Základní | Datové položky jsou uspořádány uspořádaným způsobem, kde jsou prvky přilehlé. | Uspořádá data v uspořádaném pořadí a existuje vztah mezi datovými prvky. |
Přechod dat | K datovým prvkům lze přistupovat najednou (jednorázově). | Přechod datových prvků v jednom kroku není možný. |
Snadná implementace | Jednodušší | Komplex |
Úrovně | Jednotná úroveň | Více úrovní |
Příklady | Pole, fronta, zásobník, propojený seznam atd. | Strom a graf. |
Využití paměti | Neefektivní | Efektivní |
Definice lineární datové struktury
Datová struktura je považována za lineární, pokud datové prvky vytvářejí sekvenci lineárního seznamu. Prvky jsou přiléhající k sobě a ve specifikovaném pořadí. To spotřebovává lineární paměťový prostor, datové prvky jsou vyžadovány ukládat postupně v paměti. Při implementaci lineární datové struktury je předem deklarováno potřebné množství paměti. Nevytváří dobré využití paměti a vede k plýtvání paměti. Datový prvek je navštěvován postupně, kde lze přímo dosáhnout pouze jednoho prvku.
Příkladem lineární datové struktury jsou pole, zásobník, fronta, propojený seznam, atd. Pole je skupina určitého počtu homogenních prvků nebo datových položek. Stack a fronta jsou také uspořádaná kolekce prvků jako pole, ale existuje zvláštní podmínka, kdy zásobník následuje pořadí LIFO (Last in first out) a fronta používá FIFO (First in first out) pro vložení a odstranění prvků. Seznamy lze definovat jako sadu datových položek s proměnným číslem.
Definice nelineární datové struktury
Nelineární datová struktura neuspořádá data postupně, ale je uspořádána v tříděném pořadí. V tomto mohou být datové prvky připojeny k více než jednomu prvku vykazujícímu hierarchický vztah, který zahrnuje vztah mezi dítětem, rodičem a prarodičem. V nelineární datové struktuře se průchod datových prvků a vkládání nebo delece neprovádí postupně.
Nelineární datová struktura využívá paměť efektivně a nevyžaduje předem deklaraci paměti. Existují dva běžné příklady nelineární datové struktury - strom a graf . Stromová datová struktura organizuje a ukládá datové prvky v hierarchickém vztahu.
Klíčové rozdíly mezi lineární a nelineární strukturou dat
- V lineární datové struktuře jsou data uspořádána v lineárním pořadí, ve kterém jsou prvky vzájemně propojeny. Proti tomu v nelineární datové struktuře nejsou datové prvky ukládány sekvenčně, ale prvky jsou hierarchicky příbuzné.
- Přechod dat v lineární datové struktuře je snadný, protože umožňuje, aby všechny datové prvky procházely jedním pohybem, ale současně je přímo dosažitelný pouze jeden prvek. Naopak v nelineární datové struktuře nejsou uzly navštěvovány sekvenčně a nemohou být procházeny v jednom kroku.
- Datové prvky jsou vedle sebe připojeny v lineární datové struktuře, což znamená, že pouze dva elementy mohou být spojeny se dvěma dalšími prvky, zatímco toto není případ nelineární datové struktury, kde jeden datový prvek může být připojen k mnoha dalším prvkům.
- Lineární datové struktury jsou snadno implementovány vzhledem k nelineární datové struktuře.
- Do lineární datové struktury je začleněna jediná úroveň prvků. Naopak nelineární datová struktura zahrnuje více úrovní.
- Příklady lineární datové struktury jsou pole, fronta, zásobník, propojený seznam, atd. Naproti tomu strom a graf jsou příklady nelineární datové struktury.
- Paměť je efektivně využívána v nelineární datové struktuře, kde lineární datová struktura má tendenci plýtvat pamětí.
Závěr
Lineární datové struktury zahrnují jednu úroveň datových prvků a představují lineární vztah. Na druhé straně se uvádí, že nelineární datová struktura je víceúrovňová datová struktura, která představuje hierarchický vztah mezi daty.