logo

Výuka datových struktur

Výuka DS

Výukový program Data Structures (DS) poskytuje základní a pokročilé koncepty datové struktury. Náš výukový program Data Structure je určen pro začátečníky i profesionály.

Datová struktura je způsob, jak ukládat a organizovat data tak, aby je bylo možné efektivně využívat.

Náš kurz datové struktury zahrnuje všechna témata datové struktury, jako je pole, ukazatel, struktura, propojený seznam, zásobník, fronta, graf, vyhledávání, řazení, programy atd.

Co je datová struktura?

Název datové struktury sám o sobě označuje organizaci dat v paměti. Existuje mnoho způsobů, jak organizovat data v paměti, jak jsme již viděli jednu z datových struktur, tj. pole v jazyce C. Pole je soubor paměťových prvků, ve kterých jsou data ukládána postupně, tj. jeden po druhém. Jinými slovy, můžeme říci, že pole ukládá prvky kontinuálně. Tato organizace dat se provádí pomocí řady datových struktur. Existují také další způsoby, jak organizovat data v paměti. Podívejme se na různé typy datových struktur.

Datová struktura není žádný programovací jazyk jako C, C++, java atd. Je to sada algoritmů, které můžeme použít v jakémkoli programovacím jazyce ke strukturování dat v paměti.

Pro strukturování dat v paměti byl navržen počet 'n' algoritmů a všechny tyto algoritmy jsou známé jako abstraktní datové typy. Tyto abstraktní datové typy jsou sadou pravidel.

Výuka datových struktur

Typy datových struktur

Existují dva typy datových struktur:

Java synchronizace
  • Primitivní datová struktura
  • Neprimitivní datová struktura

Primitivní datová struktura

Primitivní datové struktury jsou primitivní datové typy. Int, char, float, double a pointer jsou primitivní datové struktury, které mohou obsahovat jednu hodnotu.

Neprimitivní datová struktura

Neprimitivní datová struktura se dělí na dva typy:

převést int na řetězec v jazyce Java
  • Lineární datová struktura
  • Nelineární struktura dat

Lineární datová struktura

Uspořádání dat sekvenčním způsobem je známé jako lineární datová struktura. Datové struktury používané pro tento účel jsou pole, propojený seznam, zásobníky a fronty. V těchto datových strukturách je jeden prvek spojen pouze s druhým prvkem v lineární formě.

Když je jeden prvek připojen k 'n' počtu prvků známým jako nelineární datová struktura. Nejlepším příkladem jsou stromy a grafy. V tomto případě jsou prvky uspořádány náhodným způsobem.

Výše uvedené datové struktury stručně probereme v následujících tématech. Nyní uvidíme běžné operace, které můžeme s těmito datovými strukturami provádět.

Datové struktury lze také klasifikovat jako:

    Statická datová struktura:Je to typ datové struktury, kde je velikost přidělena v době kompilace. Proto je maximální velikost pevná.Dynamická datová struktura:Je to typ datové struktury, kde je velikost alokována v době běhu. Proto je maximální velikost flexibilní.

Hlavní operace

Hlavní nebo běžné operace, které lze provádět s datovými strukturami, jsou:

    vyhledávání:Můžeme hledat jakýkoli prvek v datové struktuře.řazení:Prvky datové struktury můžeme řadit buď vzestupně, nebo sestupně.Vložení:Nový prvek můžeme také vložit do datové struktury.Aktualizace:Prvek můžeme také aktualizovat, to znamená, že jej můžeme nahradit jiným prvkem.Vymazání:Můžeme také provést operaci delete k odstranění prvku z datové struktury.

Jaká datová struktura?

Datová struktura je způsob organizace dat tak, aby mohla být efektivně využívána. Zde jsme použili slovo efektivně, což z hlediska prostoru i času. Například zásobník je ADT (abstraktní datový typ), který pro implementaci používá buď pole nebo datovou strukturu propojeného seznamu. Proto docházíme k závěru, že k implementaci konkrétního ADT potřebujeme nějakou datovou strukturu.

ADT říká co je třeba udělat a datová struktura říká jak to se má udělat. Jinými slovy, můžeme říci, že ADT nám poskytuje plán, zatímco datová struktura poskytuje implementační část. Nyní vyvstává otázka: jak lze zjistit, která datová struktura má být použita pro konkrétní ADT?.

Protože různé datové struktury mohou být implementovány v konkrétním ADT, ale různé implementace jsou porovnávány z hlediska času a prostoru. Například Stack ADT lze implementovat jak pomocí polí, tak pomocí propojeného seznamu. Předpokládejme, že pole poskytuje časovou efektivitu, zatímco propojený seznam poskytuje prostorovou efektivitu, takže bude vybráno to, které nejlépe vyhovuje požadavkům aktuálního uživatele.

Výhody datových struktur

Výhody datové struktury jsou následující:

    Účinnost:Pokud je volba datové struktury pro implementaci konkrétního ADT správná, činí program velmi efektivním z hlediska času a prostoru.Opětovná použitelnost:Datová struktura poskytuje opětovnou použitelnost znamená, že datovou strukturu může používat více klientských programů.Abstrakce:Datová struktura určená ADT také poskytuje úroveň abstrakce. Klient nevidí vnitřní fungování datové struktury, takže se nemusí starat o implementační část. Klient vidí pouze rozhraní.

Index datových struktur


Základy DS

  • Úvod DS
  • Ds asymptotická analýza
  • Struktura DS

DS Array

  • 2D pole

Propojený seznam DS

jak se vymanit ze smyčky while java
  • Spojový seznam
    • Vložení na začátku
    • Vložení na konec
    • Vložení za zadaný uzel
    • Smazání na začátku
    • Smazání na konci
    • Smazání po zadaném uzlu
    • Procházení
    • Hledání
  • Dvojitě propojený seznam
    • Vložení na začátku
    • Vložení na konec
    • Vložení za zadaný uzel
    • Smazání na začátku
    • Smazání na konci
    • Smazání uzlu s danými daty
    • Procházení
    • Hledání
  • Kruhový propojený seznam
    • Vložení na začátku
    • Vložení na konec
    • Smazání na začátku
    • Smazání na konci
    • Procházení
    • Hledání
  • Kruhový dvojitý seznam
    • Vložení na začátku
    • Vložení na konec
    • Smazání na začátku
    • Smazání na konci

DS Stack

DS Tail

Strom DS

DS graf

Vyhledávání DS

Třídění DS

Otázky k pohovoru

java datum nyní
  • Program pro vytvoření a zobrazení jednotlivě propojeného seznamu
  • Program pro vytvoření jednoduše propojeného seznamu n uzlů a sčítání počtu uzlů
  • Program pro vytvoření jednoduše propojeného seznamu n uzlů a jeho zobrazení v opačném pořadí
  • Program pro odstranění nového uzlu ze začátku samostatně propojeného seznamu
  • Program pro odstranění nového uzlu ze středu jednotlivě propojeného seznamu
  • Program pro odstranění uzlu z konce samostatně propojeného seznamu
  • Program k určení, zda je palindromem jednotlivě propojený seznam
  • Program pro nalezení uzlu maximální a minimální hodnoty z jednotlivě propojeného seznamu
  • Program pro vložení nového uzlu doprostřed jednotlivě propojeného seznamu
  • Program pro vložení nového uzlu na začátek samostatně propojeného seznamu
  • Program pro vložení nového uzlu na konec jednotlivě propojeného seznamu
  • Program pro odstranění duplicitních prvků z jednoho propojeného seznamu
  • Program pro vyhledávání prvku v jednotlivě propojeném seznamu
  • Program pro třídění prvků jednotlivě propojeného seznamu
  • Program pro výměnu uzlů v jednoduše propojeném seznamu bez výměny dat
  • Program pro záměnu posledního prvku jednotlivě propojeného seznamu od prvního

Dvojitě propojený seznam programů

  • Program pro převod daného binárního stromu na dvojitě propojený seznam
  • Program pro vytvoření dvojitě propojeného seznamu z ternárního stromu
  • Program pro vytvoření dvojitě propojeného seznamu N uzlů a počítání počtu uzlů
  • Program pro vytvoření dvojitě propojeného seznamu N uzlů a jeho zobrazení v opačném pořadí
  • Program pro vytvoření a zobrazení dvojitě propojeného seznamu
  • Program pro odstranění nového uzlu od začátku seznamu s dvojitým propojením
  • Program pro odstranění nového uzlu z konce seznamu s dvojitým propojením
  • Program pro odstranění nového uzlu ze středu seznamu s dvojitým propojením
  • Program pro nalezení uzlu maximální a minimální hodnoty z dvojitě propojeného seznamu
  • Program pro vložení nového uzlu na začátek dvojitě propojeného seznamu
  • Program pro vložení nového uzlu na konec dvojitě propojeného seznamu
  • Program pro vložení nového uzlu doprostřed seznamu s dvojitým propojením
  • Program pro odstranění duplicitních prvků z dvojitě propojeného seznamu
  • Program pro rotaci dvojitě propojeného seznamu podle N uzlů
  • Program pro vyhledávání prvku ve dvojitě propojeném seznamu
  • Program pro řazení prvků dvojitě propojeného seznamu

Programy kruhového propojeného seznamu

  • Program pro vytvoření kruhového propojeného seznamu N uzlů a počítání počtu uzlů
  • Program pro vytvoření kruhového propojeného seznamu N uzlů a jeho zobrazení v opačném pořadí
  • Program pro vytvoření a zobrazení kruhového propojeného seznamu
  • Program pro odstranění nového uzlu od začátku kruhového propojeného seznamu
  • Program pro odstranění nového uzlu z konce kruhového propojeného seznamu
  • Program pro odstranění nového uzlu ze středu kruhového propojeného seznamu
  • Program pro nalezení uzlu maximální a minimální hodnoty z kruhového propojeného seznamu
  • Program pro vložení nového uzlu na začátek kruhového propojeného seznamu
  • Program pro vložení nového uzlu na konec kruhového propojeného seznamu
  • Program pro vložení nového uzlu doprostřed kruhového propojeného seznamu
  • Program pro odstranění duplicitních prvků z kruhového propojeného seznamu
  • Program pro vyhledávání prvku v kruhovém propojeném seznamu
  • Program pro řazení prvků kruhového propojeného seznamu

Stromové programy

  • Program pro výpočet rozdílu mezi součtem uzlů liché úrovně a sudých úrovní binárního stromu
  • Program pro konstrukci binárního vyhledávacího stromu a provádění mazání a procházení v pořadí
  • Program pro převod binárního stromu na binární vyhledávací strom
  • Program pro zjištění, zda jsou všechny listy na stejné úrovni
  • Program pro zjištění, zda jsou dva stromy totožné
  • Program pro nalezení maximální šířky binárního stromu
  • Program pro nalezení největšího prvku v binárním stromu
  • Program pro zjištění maximální hloubky nebo výšky stromu
  • Program pro nalezení uzlů, které jsou v maximální vzdálenosti v binárním stromu
  • Program pro nalezení nejmenšího prvku v binárním stromu
  • Program pro nalezení součtu všech uzlů binárního stromu
  • Program pro nalezení celkového počtu možných binárních vyhledávacích stromů s N klíči
  • Program pro implementaci binárního stromu pomocí propojeného seznamu
  • Program pro vyhledávání uzlu v binárním stromu

Předpoklad

Než se naučíte datovou strukturu, musíte mít základní znalosti C.

Publikum

Náš výukový program Data Structure je navržen tak, aby pomohl začátečníkům i profesionálům.

Problém

Ujišťujeme vás, že v tomto kurzu Data Structure nenajdete žádný problém. Ale pokud je tam nějaká chyba, napište ji prosím do kontaktního formuláře.