Čo je dátová štruktúra:
Dátová štruktúra je úložisko, ktoré sa používa na ukladanie a organizovanie údajov. Je to spôsob usporiadania údajov v počítači tak, aby k nim bolo možné pristupovať a efektívne ich aktualizovať.
Štruktúra údajov sa nepoužíva len na organizáciu údajov. Používa sa tiež na spracovanie, získavanie a ukladanie údajov. Rôzne základné a pokročilé typy dátových štruktúr sa používajú takmer v každom programe alebo softvérovom systéme, ktorý bol vyvinutý. Preto musíme mať dobré znalosti o dátových štruktúrach.
Dátové štruktúry sú neoddeliteľnou súčasťou počítačov používaných na usporiadanie dát v pamäti. Sú nevyhnutné a zodpovedné za efektívnu organizáciu, spracovanie, prístup a ukladanie údajov. Ale to nie je všetko. Rôzne typy dátových štruktúr majú svoje charakteristiky, vlastnosti, aplikácie, výhody a nevýhody. Ako teda identifikujete dátovú štruktúru, ktorá je vhodná pre konkrétnu úlohu? Čo znamená pojem „údajová štruktúra“? Koľko typov dátových štruktúr existuje a na čo sa používajú?

Čo je dátová štruktúra: typy, klasifikácie a aplikácie
Zabezpečili sme vás. Urobili sme kompletný zoznam všetkého o tom, čo je dátová štruktúra, aké sú typy dátových štruktúr, klasifikácia dátových štruktúr, aplikácie každej dátovej štruktúry atď. V tomto článku budeme diskutovať o každom aspekte každej dátovej štruktúry, aby sme vám pomohli vybrať tú najlepšiu za pár minút.
Obsah
- Čo je dátová štruktúra?
- Ako sa štruktúra údajov líši od typu údajov?
- Klasifikácia štruktúry údajov
- Polia
- Prepojený zoznam
- Stoh
- Fronta
- Strom
- Graf
- Záver
Ako sa štruktúra údajov líši od typu údajov:
Už sme sa naučili o štruktúre údajov. Mnohokrát sa stáva, že ľudia sú zmätení medzi typom údajov a štruktúrou údajov. Pozrime sa teda na niekoľko rozdielov medzi typom údajov a štruktúrou údajov, aby bolo jasné.
Dátový typ | Dátová štruktúra |
---|---|
Dátový typ je forma premennej, ktorej možno priradiť hodnotu. Definuje, že konkrétna premenná bude priraďovať iba hodnoty daného dátového typu. | Štruktúra údajov je súbor rôznych druhov údajov. Celé dáta môžu byť reprezentované pomocou objektu a môžu byť použité v celom programe. |
Môže obsahovať hodnotu, ale nie údaje. Preto je bez údajov. | Môže obsahovať viacero typov údajov v rámci jedného objektu. |
Implementácia dátového typu je známa ako abstraktná implementácia. koľko miest v Spojených štátoch amerických | Implementácia dátovej štruktúry je známa ako konkrétna implementácia. |
V prípade dátových typov nie je časová zložitosť. | V objektoch dátovej štruktúry hrá dôležitú úlohu časová zložitosť. |
V prípade dátových typov sa hodnota dát neukladá, pretože predstavuje iba typ dát, ktorý je možné uložiť. | Zatiaľ čo v prípade dátových štruktúr získavajú dáta a ich hodnota priestor v hlavnej pamäti počítača. Dátová štruktúra môže tiež obsahovať rôzne druhy a typy údajov v rámci jedného objektu. |
Príklady dátových typov sú int, float, double atď. | Príklady dátových štruktúr sú zásobník, front, strom atď. |
Klasifikácia štruktúry údajov:
Dátová štruktúra má mnoho rôznych použití v našom každodennom živote. Existuje mnoho rôznych dátových štruktúr, ktoré sa používajú na riešenie rôznych matematických a logických problémov. Použitím dátovej štruktúry je možné usporiadať a spracovať veľmi veľké množstvo dát v relatívne krátkom čase. Pozrime sa na rôzne dátové štruktúry, ktoré sa používajú v rôznych situáciách.

Klasifikácia štruktúry údajov
- Lineárna dátová štruktúra: Dátová štruktúra, v ktorej sú dátové prvky usporiadané sekvenčne alebo lineárne, pričom každý prvok je pripojený k predchádzajúcim a nasledujúcim susedným prvkom, sa nazýva lineárna dátová štruktúra.
Príkladmi lineárnych dátových štruktúr sú pole, zásobník, front, prepojený zoznam atď.- Statická dátová štruktúra: Statická dátová štruktúra má pevnú veľkosť pamäte. Jednoduchší je prístup k prvkom v statickej dátovej štruktúre.
Príkladom tejto dátovej štruktúry je pole. - Dynamická dátová štruktúra: V dynamickej dátovej štruktúre nie je veľkosť pevná. Môže byť náhodne aktualizovaný počas behu, čo môže byť považované za efektívne vzhľadom na pamäťovú (priestorovú) zložitosť kódu.
Príkladmi tejto dátovej štruktúry sú front, zásobník atď.
- Statická dátová štruktúra: Statická dátová štruktúra má pevnú veľkosť pamäte. Jednoduchší je prístup k prvkom v statickej dátovej štruktúre.
- Nelineárna dátová štruktúra: Dátové štruktúry, kde dátové prvky nie sú umiestnené sekvenčne alebo lineárne, sa nazývajú nelineárne dátové štruktúry. V nelineárnej dátovej štruktúre nemôžeme prejsť všetkými prvkami iba v jednom spustení.
Príkladmi nelineárnych dátových štruktúr sú stromy a grafy.
Potreba dátovej štruktúry:
Štruktúra údajov a syntéza algoritmu sú navzájom relatívne. Prezentácia údajov musí byť ľahko zrozumiteľná, aby vývojár, ako aj používateľ, mohli efektívne implementovať operáciu.
Dátové štruktúry poskytujú jednoduchý spôsob organizácie, získavania, správy a ukladania údajov.
Tu je zoznam potrieb pre údaje.
- Úprava dátovej štruktúry je jednoduchá.
- Vyžaduje si to menej času.
- Ušetrite úložný priestor v pamäti.
- Reprezentácia údajov je jednoduchá.
- Jednoduchý prístup k rozsiahlej databáze.
Polia:
Pole je lineárna dátová štruktúra a je to kolekcia položiek uložených v súvislých pamäťových miestach. Cieľom je uložiť viacero položiek rovnakého typu spolu na jednom mieste. Umožňuje spracovanie veľkého množstva údajov v relatívne krátkom čase. Prvý prvok poľa je indexovaný dolným indexom 0. V poli sú možné rôzne operácie, ako je vyhľadávanie, triedenie, vkladanie, prechádzanie, obracanie a odstraňovanie.

Pole
Vlastnosti poľa:
Pole má rôzne vlastnosti, ktoré sú nasledovné:
- Polia používajú dátovú štruktúru založenú na indexe, ktorá pomáha ľahko identifikovať každý z prvkov v poli pomocou indexu.
- Ak chce používateľ uložiť viacero hodnôt rovnakého typu údajov, pole môže byť efektívne využité.
- Pole dokáže spracovať aj zložité dátové štruktúry ukladaním dát do dvojrozmerného poľa.
- Pole sa používa aj na implementáciu iných dátových štruktúr, ako sú zásobníky, fronty, haldy, hašovacie tabuľky atď.
- Proces vyhľadávania v poli je možné vykonať veľmi jednoducho.
Operácie vykonané na poli:
- Inicializácia : Pole môže byť inicializované hodnotami v čase deklarácie alebo neskôr pomocou príkazu priradenia.
- Prístup k prvkom: K prvkom v poli je možné pristupovať pomocou ich indexu, ktorý začína od 0 a pokračuje až do veľkosti poľa mínus jedna.
- Hľadanie prvkov : Polia je možné vyhľadávať pre konkrétny prvok pomocou lineárneho vyhľadávania alebo binárnych vyhľadávacích algoritmov.
- Triediace prvky : Prvky v poli je možné triediť vo vzostupnom alebo zostupnom poradí pomocou algoritmov, ako je bublinové triedenie, vkladanie triedenia alebo rýchle triedenie.
- Vkladanie prvkov: Prvky môžu byť vložené do poľa na konkrétnom mieste, ale táto operácia môže byť časovo náročná, pretože vyžaduje posunutie existujúcich prvkov v poli.
- Odstránenie prvkov: Prvky možno z poľa odstrániť posunutím prvkov, ktoré za ním prídu, aby sa vyplnila medzera.
- Aktualizácia prvkov: Prvky v poli je možné aktualizovať alebo upraviť priradením novej hodnoty konkrétnemu indexu.
- Prvky prechodu: Prvky v poli je možné prechádzať v poradí, pričom každý prvok navštívi raz.
Toto sú niektoré z najbežnejších operácií vykonávaných na poliach. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka.
Aplikácie Array:
Rôzne aplikácie poľa sú nasledovné:
- Pole sa používa pri riešení maticových problémov.
- Databázové záznamy sú tiež implementované poľom.
- Pomáha pri implementácii triediaceho algoritmu.
- Používa sa aj na implementáciu iných dátových štruktúr, ako sú zásobníky, fronty, haldy, hašovacie tabuľky atď.
- Na plánovanie CPU možno použiť pole.
- Dá sa použiť ako vyhľadávacia tabuľka v počítačoch.
- Polia možno použiť pri spracovaní reči, kde je každý rečový signál poľom.
- Obrazovku počítača zobrazuje aj pole. Tu používame viacrozmerné pole.
- Pole sa používa v mnohých riadiacich systémoch, ako je knižnica, študenti, parlament atď.
- Pole sa používa v systéme online rezervácie vstupeniek. Toto pole zobrazuje kontakty na mobilnom telefóne.
- V hrách ako online šach, kde si hráč môže ukladať svoje minulé ťahy, ako aj aktuálne ťahy. Označuje náznak polohy.
- Ak chcete uložiť obrázky v konkrétnom rozmere v systéme Android Like 360*1200
Aplikácie Array v reálnom živote:
- Pole sa často používa na ukladanie údajov pre matematické výpočty.
- Používa sa pri spracovaní obrazu.
- Používa sa aj pri správe záznamov.
- Stránky kníh sú tiež skutočnými príkladmi poľa.
- Používa sa aj v objednávkových boxoch.
Chcete začať s poliami? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
- Úvod do štruktúry dát poľa
- 50 najčastejších problémov s kódovaním polí pri rozhovoroch
- Precvičte si problém s polem na techcodeview.com
Prepojený zoznam:
Prepojený zoznam je lineárna dátová štruktúra, v ktorej prvky nie sú uložené na súvislých pamäťových miestach. Prvky v prepojenom zozname sú prepojené pomocou ukazovateľov, ako je znázornené na obrázku nižšie:
Typy prepojených zoznamov:
čítanie súboru csv v jazyku Java
- Jednotlivo prepojený zoznam
- Dvojnásobne prepojený zoznam
- Kruhový prepojený zoznam
- Dvojitý kruhový prepojený zoznam

Prepojený zoznam
Charakteristiky prepojeného zoznamu:
Prepojený zoznam má rôzne charakteristiky, ktoré sú nasledovné:
- Prepojený zoznam využíva dodatočnú pamäť na ukladanie odkazov.
- Počas inicializácie prepojeného zoznamu nie je potrebné poznať veľkosť prvkov.
- Prepojené zoznamy sa používajú na implementáciu zásobníkov, radov, grafov atď.
- Prvý uzol prepojeného zoznamu sa nazýva Head.
- Ďalší ukazovateľ posledného uzla vždy ukazuje na NULL.
- V prepojenom zozname je vkladanie a mazanie možné jednoducho.
- Každý uzol prepojeného zoznamu pozostáva z ukazovateľa/odkazu, čo je adresa nasledujúceho uzla.
- Prepojené zoznamy sa môžu kedykoľvek ľahko zmenšiť alebo zväčšiť.
Operácie vykonané na prepojenom zozname:
Prepojený zoznam je lineárna dátová štruktúra, kde každý uzol obsahuje hodnotu a odkaz na nasledujúci uzol. Tu sú niektoré bežné operácie vykonávané na prepojených zoznamoch:
- Inicializácia: Prepojený zoznam možno inicializovať vytvorením hlavného uzla s odkazom na prvý uzol. Každý nasledujúci uzol obsahuje hodnotu a odkaz na nasledujúci uzol.
- Vkladanie prvkov: Prvky možno vložiť na začiatok, koniec alebo na konkrétnu pozíciu v prepojenom zozname.
- Odstraňovanie prvkov : Prvky možno odstrániť z prepojeného zoznamu aktualizáciou referencie predchádzajúceho uzla tak, aby ukazovala na nasledujúci uzol, čím sa účinne odstráni aktuálny uzol zo zoznamu.
- Hľadanie prvkov : Prepojené zoznamy je možné vyhľadať pre konkrétny prvok tak, že začnete od hlavného uzla a budete postupovať podľa odkazov na ďalšie uzly, kým nenájdete požadovaný prvok.
- Aktualizácia prvkov : Prvky v prepojenom zozname možno aktualizovať úpravou hodnoty konkrétneho uzla.
- Prvky prechodu: Prvky v prepojenom zozname možno prechádzať tak, že začnete od hlavného uzla a budete postupovať podľa odkazov na ďalšie uzly, až kým sa nedosiahne koniec zoznamu.
- Obrátenie prepojeného zoznamu : Prepojený zoznam možno zvrátiť aktualizáciou referencií každého uzla tak, aby ukazovali na predchádzajúci uzol namiesto na nasledujúci uzol.
Toto sú niektoré z najbežnejších operácií vykonávaných na prepojených zoznamoch. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka.
Aplikácie prepojeného zoznamu:
Rôzne aplikácie prepojených zoznamov sú nasledovné:
- Prepojené zoznamy sa používajú na implementáciu zásobníkov, radov, grafov atď.
- Prepojené zoznamy sa používajú na vykonávanie aritmetických operácií s dlhými celými číslami.
- Používa sa na reprezentáciu riedkych matíc.
- Používa sa pri prepojenom prideľovaní súborov.
- Pomáha pri správe pamäte.
- Používa sa pri reprezentácii manipulácie s polynómom, kde každý polynóm predstavuje uzol v prepojenom zozname.
- Prepojené zoznamy sa používajú na zobrazenie kontajnerov obrázkov. Používatelia môžu navštíviť minulé, súčasné a nasledujúce obrázky.
- Slúžia na ukladanie histórie navštívenej stránky.
- Používajú sa na vykonávanie operácií vrátenia späť.
- Prepojené sa používajú pri vývoji softvéru, kde označujú správnu syntax značky.
- Prepojené zoznamy sa používajú na zobrazenie informačných kanálov sociálnych médií.
Aplikácie prepojeného zoznamu v reálnom živote:
- Prepojený zoznam sa používa v plánovaní Round-Robin na sledovanie ťahu v hrách pre viacerých hráčov.
- Používa sa v prehliadači obrázkov. Predchádzajúce a nasledujúce obrázky sú prepojené, a preto k nim možno pristupovať pomocou tlačidiel predchádzajúci a nasledujúci.
- V zozname hudobných skladieb sú skladby prepojené s predchádzajúcimi a nasledujúcimi skladbami.
Chcete začať s prepojeným zoznamom? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
- Úvod do dátovej štruktúry prepojeného zoznamu
- Top 20 prepojených otázok na rozhovor
- Precvičte si problém Linked List na techcodeview.com
Stoh:
Zásobník je lineárna dátová štruktúra, ktorá sleduje určité poradie, v ktorom sa operácie vykonávajú. Objednávka je LIFO (posledný dnu, prvý von) . Zadávanie a získavanie údajov je možné len z jedného konca. Zadávanie a získavanie údajov sa tiež nazýva operácia push a pop v zásobníku. V zásobníku sú možné rôzne operácie, ako je obrátenie zásobníka pomocou rekurzie, triedenia, vymazania stredného prvku zásobníka atď.
Stoh
Charakteristiky zásobníka:
Stack má rôzne rôzne vlastnosti, ktoré sú nasledovné:
- Stack sa používa v mnohých rôznych algoritmoch, ako je Hanojská veža, prechádzanie stromami, rekurzia atď.
- Zásobník je implementovaný prostredníctvom poľa alebo prepojeného zoznamu.
- Nasleduje po operácii Last In First Out, t.j. prvok, ktorý je vložený ako prvý, sa objaví ako posledný a naopak.
- Vkladanie a vymazanie sa vykonáva na jednom konci, t. j. z vrchu zásobníka.
- Ak je v zásobníku pridelený priestor pre zásobník plný a napriek tomu sa niekto pokúsi pridať ďalšie prvky, povedie to k pretečeniu zásobníka.
Aplikácie Stack:
Rôzne aplikácie Stack sú nasledovné:
- Dátová štruktúra zásobníka sa používa pri vyhodnocovaní a konverzii aritmetických výrazov.
- Používa sa na kontrolu zátvoriek.
- Pri obrátení reťazca sa používa aj zásobník.
- Stack sa používa pri správe pamäte.
- Používa sa aj na spracovanie volaní funkcií.
- Zásobník sa používa na konverziu výrazov z infixu na postfix.
- Zásobník sa používa na vykonávanie operácií vrátenia, ako aj opätovných operácií v textových procesoroch.
- Zásobník sa používa vo virtuálnych strojoch ako JVM.
- Zásobník sa používa v prehrávačoch médií. Užitočné na prehrávanie nasledujúcej a predchádzajúcej skladby.
- Zásobník sa používa v rekurzných operáciách.
Operácia vykonaná na zásobníku;
Zásobník je lineárna dátová štruktúra, ktorá implementuje princíp Last-In-First-Out (LIFO). Tu sú niektoré bežné operácie vykonávané na zásobníkoch:
- TAM : Prvky je možné zasunúť na vrch zásobníka, čím sa na vrch zásobníka pridá nový prvok.
- Pop : Horný prvok je možné zo stohu odstrániť vykonaním operácie vypáčenia, čím sa efektívne odstráni posledný prvok, ktorý bol zatlačený na stoh.
- Nahliadnuť: Horný prvok je možné skontrolovať bez toho, aby ste ho vybrali zo stohu pomocou operácie nahliadnutia.
- Je prázdny : Dá sa skontrolovať, či je zásobník prázdny.
- Veľkosť : Počet prvkov v zásobníku možno určiť pomocou operácie veľkosti.
Toto sú niektoré z najbežnejších operácií vykonávaných na zásobníkoch. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka. Zásobníky sa bežne používajú v aplikáciách, ako je vyhodnocovanie výrazov, implementácia zásobníkov volaní funkcií v počítačových programoch a mnoho ďalších.
Aplikácie zásobníka v reálnom živote:
- Príkladom stohu v reálnom živote je vrstva tanierov na jedenie usporiadaná nad sebou. Keď vyberiete tanier z hromady, môžete tanier vziať na vrch hromady. Ale to je presne ten tanier, ktorý najnovšie pribudol do kopy. Ak chcete, aby bola platňa na spodku hromady, musíte odstrániť všetky platne na jej vrchu, aby ste sa k nej dostali.
- Prehliadače používajú zásobníkové dátové štruktúry na sledovanie predtým navštívených stránok.
- Protokol hovorov v mobile tiež používa štruktúru zásobníkov.
Chcete začať so Stackom? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
concat strings java
- Precvičte si problém so zásobníkom na techcodeview.com
Poradie:
Front je lineárna dátová štruktúra, ktorá sleduje určité poradie, v ktorom sa operácie vykonávajú. Objednávka je Prvý dnu, prvý von (FIFO) t.j. ako prvá sa sprístupní údajová položka uložená ako prvá. V tomto prípade sa zadávanie a získavanie údajov nerobí len z jedného konca. Príkladom radu je akýkoľvek rad spotrebiteľov pre zdroj, kde je prvý obsluhovaný spotrebiteľ, ktorý prišiel ako prvý. Na fronte sa vykonávajú rôzne operácie, ako je obrátenie frontu (s použitím alebo bez použitia rekurzie), obrátenie prvých K prvkov frontu atď. Niekoľko základných operácií vykonávaných vo fronte je zaradenie do radu, vyradenie z radu, predné, zadné atď.

Fronta
Charakteristika fronty:
Fronta má rôzne rôzne charakteristiky, ktoré sú nasledovné:
- Front má štruktúru FIFO (First In First Out).
- Ak chcete odstrániť posledný prvok z frontu, musia sa odstrániť všetky prvky vložené pred nový prvok vo fronte.
- Front je usporiadaný zoznam prvkov podobných dátových typov.
Aplikácie frontu:
Rôzne aplikácie Queue sú nasledovné:
- Front sa používa na spracovanie návštevnosti webových stránok.
- Pomáha udržiavať zoznam skladieb v prehrávačoch médií.
- Front sa používa v operačných systémoch na obsluhu prerušení.
- Pomáha pri obsluhovaní požiadaviek na jednom zdieľanom prostriedku, ako je tlačiareň, plánovanie úloh CPU atď.
- Používa sa pri asynchrónnom prenose dát napr. potrubia, IO súboru a zásuvky.
- Fronty sa používajú na plánovanie úloh v operačnom systéme.
- V sociálnych médiách sa na nahranie viacerých fotografií alebo videí používa fronta.
- Na odoslanie e-mailovej fronty sa používa dátová štruktúra.
- Na spracovanie návštevnosti webových stránok sa v určitom čase používajú fronty.
- V operačnom systéme Windows na prepínanie viacerých aplikácií.
Operácia vykonaná vo fronte:
Front je lineárna dátová štruktúra, ktorá implementuje princíp First-In-First-Out (FIFO). Tu sú niektoré bežné operácie vykonávané vo frontoch:
- Zaradiť do radu : Prvky môžu byť pridané na koniec frontu pridaním nového prvku na koniec frontu.
- Podľa toho : Predný prvok možno odstrániť z frontu vykonaním operácie vyradenia z frontu, čím sa efektívne odstráni prvý prvok, ktorý bol pridaný do frontu.
- Nahliadnuť : Predný prvok je možné skontrolovať bez toho, aby ste ho odstránili z radu pomocou operácie nahliadnutia.
- Je prázdny : Je možné vykonať kontrolu, aby sa zistilo, či je front prázdny.
- Veľkosť : Počet prvkov vo fronte možno určiť pomocou operácie veľkosti.
Toto sú niektoré z najbežnejších operácií vykonávaných vo frontoch. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka. Fronty sa bežne používajú v aplikáciách, ako je plánovanie úloh, riadenie komunikácie medzi procesmi a mnoho ďalších.
Aplikácie fronty v reálnom živote:
- Reálnym príkladom kolóny je jednopruhová jednosmerná cesta, kde vozidlo, ktoré vojde ako prvé, vystúpi ako prvé.
- Reálnejší príklad možno vidieť v rade pri pokladniach.
- Pokladnícka linka v obchode je tiež príkladom frontu.
- Ľudia na eskalátore
Chcete začať s funkciou Queue? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
- Cvičte problém s frontom na techcodeview.com
strom:
Strom je nelineárna a hierarchická dátová štruktúra, kde sú prvky usporiadané do stromovej štruktúry. V strome sa najvyšší uzol nazýva koreňový uzol. Každý uzol obsahuje nejaké údaje a údaje môžu byť akéhokoľvek typu. Pozostáva z centrálneho uzla, štrukturálnych uzlov a poduzlov, ktoré sú spojené cez hrany. Rôzne stromové dátové štruktúry umožňujú rýchlejší a jednoduchší prístup k dátam, keďže ide o nelineárnu dátovú štruktúru. Strom má rôzne terminológie ako uzol, koreň, hrana, výška stromu, stupeň stromu atď.
Existujú rôzne typy stromových

Strom
Vlastnosti stromu:
Strom má rôzne vlastnosti, ktoré sú nasledovné:
- Strom je známy aj ako rekurzívna dátová štruktúra.
- V strome môže byť výška koreňa definovaná ako najdlhšia cesta od koreňového uzla po listový uzol.
- V strome je možné vypočítať aj hĺbku zhora po akýkoľvek uzol. Koreňový uzol má hĺbku 0.
Aplikácia stromu:
Rôzne aplikácie stromu sú nasledovné:
- Halda je stromová dátová štruktúra, ktorá sa implementuje pomocou polí a používa sa na implementáciu prioritných frontov.
- B-Strom a B+ Tree sa používajú na implementáciu indexovania v databázach.
- Strom syntaxe pomáha pri skenovaní, analýze, generovaní kódu a vyhodnocovaní aritmetických výrazov v dizajne kompilátora.
- K-D Tree je strom rozdeľujúci priestor používaný na organizáciu bodov v K-rozmernom priestore.
- Spanning trees sa používajú v smerovačoch v počítačových sieťach.
Operácia vykonaná na strome:
Strom je nelineárna dátová štruktúra, ktorá pozostáva z uzlov spojených hranami. Tu sú niektoré bežné operácie vykonávané na stromoch:
- Vkladanie : Do stromu je možné pridať nové uzly na vytvorenie novej vetvy alebo na zvýšenie výšky stromu.
- Vymazanie : Uzly je možné zo stromu odstrániť aktualizáciou odkazov nadradeného uzla, aby sa odstránil odkaz na aktuálny uzol.
- Vyhľadávanie : Prvky možno v strome vyhľadávať tak, že začnete od koreňového uzla a prechádzate stromom na základe hodnoty aktuálneho uzla, kým sa nenájde požadovaný uzol.
- Prechádzanie : Prvky v strome možno prechádzať niekoľkými rôznymi spôsobmi, vrátane prechodu v poradí, pred objednávkou a po objednávke.
- Výška : Výšku stromu je možné určiť spočítaním počtu hrán od koreňového uzla po najvzdialenejší listový uzol.
- Hĺbka : Hĺbku uzla je možné určiť spočítaním počtu hrán od koreňového uzla po aktuálny uzol.
- Vyvažovanie : Strom je možné vyvážiť, aby sa zabezpečilo, že výška stromu bude minimalizovaná a rozmiestnenie uzlov bude čo najrovnomernejšie.
Toto sú niektoré z najbežnejších operácií vykonávaných na stromoch. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka. Stromy sa bežne používajú v aplikáciách, ako je vyhľadávanie, triedenie a ukladanie hierarchických údajov.
Aplikácie stromu v reálnom živote:
- V reálnom živote stromová dátová štruktúra pomáha pri vývoji hier.
- Pomáha tiež pri indexovaní v databázach.
- Rozhodovací strom je efektívny nástroj strojového učenia, ktorý sa bežne používa pri rozhodovacej analýze. Má štruktúru podobnú vývojovému diagramu, ktorá pomáha porozumieť údajom.
- Domain Name Server tiež používa stromovú dátovú štruktúru.
- Najbežnejším prípadom použitia stromu je akákoľvek sociálna sieť.
Chcete začať so stromom? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
- 50 najlepších otázok na pohovor o strome
- Precvičte si problém so stromom na techcodeview.com
Graf:
Graf je nelineárna dátová štruktúra, ktorá pozostáva z vrcholov (alebo uzlov) a hrán. Pozostáva z konečnej množiny vrcholov a množiny hrán, ktoré spájajú pár uzlov. Graf sa používa na riešenie najnáročnejších a najzložitejších problémov programovania. Má rôzne terminológie, ktorými sú cesta, stupeň, susedné vrcholy, pripojené komponenty atď.

Graf
Charakteristika grafu:
Graf má rôzne charakteristiky, ktoré sú nasledovné:
- Maximálna vzdialenosť od vrcholu k všetkým ostatným vrcholom sa považuje za excentricitu tohto vrcholu.
- Vrchol s minimálnou excentricitou sa považuje za centrálny bod grafu.
- Minimálna hodnota excentricity zo všetkých vrcholov sa považuje za polomer spojeného grafu.
Aplikácie grafu:
Rôzne aplikácie grafov sú nasledovné:
- Graf sa používa na znázornenie toku výpočtu.
- Používa sa pri modelovaní grafov.
- Operačný systém používa Resource Allocation Graph.
- Používa sa aj vo World Wide Web, kde webové stránky predstavujú uzly.
Operácia vykonaná na grafe:
Graf je nelineárna dátová štruktúra pozostávajúca z uzlov a hrán. Tu sú niektoré bežné operácie vykonávané na grafoch:
- Pridať vrchol: Do grafu je možné pridať nové vrcholy, ktoré reprezentujú nový uzol.
- Pridať okraj: Hrany môžu byť pridané medzi vrcholy, aby reprezentovali vzťah medzi uzlami.
- Odstrániť Vertex : Vrcholy možno z grafu odstrániť aktualizáciou odkazov susedných vrcholov, aby sa odstránil odkaz na aktuálny vrchol.
- Odstrániť Edge : Hrany je možné odstrániť aktualizáciou referencií susedných vrcholov, aby sa odstránila referencia na aktuálnu hranu.
- Hĺbkové vyhľadávanie (DFS) : Graf je možné prechádzať pomocou hĺbkového vyhľadávania tak, že navštívite vrcholy v hĺbke ako prvé.
- B readth-First Search (BFS): Graf je možné prechádzať pomocou vyhľadávania na šírku tak, že budete navštevovať vrcholy na šírku.
- Najkratšia cesta: Najkratšia cesta medzi dvoma vrcholmi môže byť určená pomocou algoritmov, ako je Dijkstrov algoritmus alebo A* algoritmus.
- Pripojené komponenty : Súvisiace komponenty grafu možno určiť nájdením množín vrcholov, ktoré sú navzájom spojené, ale nie so žiadnymi inými vrcholmi v grafe.
- Detekcia cyklu : Cykly v grafe možno zistiť kontrolou zadných hrán počas hĺbkového vyhľadávania.
Toto sú niektoré z najbežnejších operácií vykonávaných na grafoch. Špecifické operácie a použité algoritmy sa môžu líšiť v závislosti od požiadaviek problému a použitého programovacieho jazyka. Grafy sa bežne používajú v aplikáciách, ako sú počítačové siete, sociálne siete a problémy so smerovaním.
Aplikácie grafu v reálnom živote:
- Jedným z najbežnejších príkladov grafu v reálnom svete sú Mapy Google, kde sú mestá umiestnené ako vrcholy a cesty spájajúce tieto vrcholy sú umiestnené ako okraje grafu.
- Sociálna sieť je tiež jedným zo skutočných príkladov grafu, kde každá osoba v sieti je uzlom a všetky jej priateľstvá v sieti sú okrajmi grafu.
- Graf sa používa aj na štúdium molekúl vo fyzike a chémii.
Chcete začať s programom Graph? Môžete si vyskúšať naše kurátorské články a zoznamy s osvedčenými postupmi:
murársky vzorec
- Úvod do štruktúry údajov grafu
- 50 najčastejších otázok v rozhovore s grafom
- Precvičte si problém s grafom na techcodeview.com
Výhody dátovej štruktúry:
- Vylepšená organizácia údajov a efektívnosť ukladania.
- Rýchlejšie získavanie údajov a manipulácia s nimi.
- Uľahčuje návrh algoritmov na riešenie zložitých problémov.
- Uľahčuje úlohu aktualizácie a údržby údajov.
- Poskytuje lepšie pochopenie vzťahov medzi dátovými prvkami.
Nevýhoda dátovej štruktúry:
- Zvýšená výpočtová a pamäťová réžia.
- Ťažkosti pri navrhovaní a implementácii zložitých dátových štruktúr.
- Obmedzená škálovateľnosť a flexibilita.
- Zložitosť pri ladení a testovaní.
- Ťažkosti pri úprave existujúcich dátových štruktúr.
Referencia:
Dátové štruktúry možno nájsť v rôznych učebniciach informatiky a online zdrojoch. Niektoré populárne texty zahŕňajú:
- Úvod do algoritmov od Thomasa H. Cormena, Charlesa E. Leisersona, Ronalda L. Rivesta a Clifforda Steina.
- Dátové štruktúry a analýza algoritmov v Jave od Marka Allena Weissa.
- The Algorithm Design Manual od Stevena S. Skiena.
- Online zdroje ako Coursera, Udemy a Khan Academy ponúkajú aj kurzy o dátových štruktúrach a algoritmoch.
Záver
Hoci ide o najznámejšie a najpoužívanejšie dátové štruktúry, existujú aj iné formy dátových štruktúr, ktoré sa používajú v informatike, ako napr. dátové štruktúry založené na politike , atď. Ale bez ohľadu na to, ktorú dátovú štruktúru si vyberiete, každá má svoje výhody a nevýhody, bez ktorých znalosti môže byť výber nesprávneho typu dátovej štruktúry veľmi nákladný. Preto je veľmi dôležité pochopiť potrebu danej situácie a potom sa rozhodnúť, ktorý typ dátovej štruktúry je pre danú prácu najvhodnejší.