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.
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:
Hlavní operace
Hlavní nebo běžné operace, které lze provádět s datovými strukturami, jsou:
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í:
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
- Implementace pole
- Implementace propojeného seznamu
DS Tail
- Implementace pole
- Implementace propojeného seznamu
- Kruhová fronta
Strom DS
- Strom
- Binární strom
- Předobjednejte si Traversal
- In-order Traversal
- Post-order Traversal
- Binární vyhledávací strom
- Vyhledávání v BST
- Vložení do BST
- Smazání v BST
- Strom AVL
- Vložení do stromu AVL
- Rotace LL
- LR rotace
- Rotace RL
- Rotace RR
- Vložení do stromu AVL
- B strom
- B+ strom
- Červený černý strom
DS graf
- DS graf
- Implementace grafů
- Algoritmus BFS
- Algoritmus DFS
- Spanning Tree
Vyhledávání DS
Třídění DS
- Bublinové řazení
- Třídění lopaty
- Hřebenové řazení
- Počítání Řadit
- Řazení haldy
- Řazení vkládání
- Sloučit třídění
- Rychlé řazení
- Seřadit Radix
- Výběr Seřadit
- Shell Třídit
- Bitonic seřadit
- Třídění koktejlů
- Cyklické řazení
- Tim Sort
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.