Självstudiekursen Data Structures (DS) ger grundläggande och avancerade koncept för datastruktur. Vår handledning för datastruktur är designad för nybörjare och proffs.
Datastruktur är ett sätt att lagra och organisera data så att den kan användas effektivt.
Vår handledning för datastruktur inkluderar alla ämnen om datastruktur som array, pekare, struktur, länkad lista, stack, kö, graf, sökning, sortering, program, etc.
Vad är datastruktur?
Namnet på datastrukturen indikerar att organiseringen av data i minnet. Det finns många sätt att organisera data i minnet eftersom vi redan har sett en av datastrukturerna, d.v.s. array i C-språk. Array är en samling minneselement i vilka data lagras sekventiellt, det vill säga en efter en. Med andra ord kan vi säga att array lagrar elementen på ett kontinuerligt sätt. Denna organisation av data görs med hjälp av en rad datastrukturer. Det finns också andra sätt att organisera data i minnet. Låt oss se de olika typerna av datastrukturer.
Datastrukturen är inte vilket programmeringsspråk som helst som C, C++, java, etc. Det är en uppsättning algoritmer som vi kan använda i vilket programmeringsspråk som helst för att strukturera data i minnet.
För att strukturera data i minnet föreslogs 'n' antal algoritmer, och alla dessa algoritmer är kända som abstrakta datatyper. Dessa abstrakta datatyper är uppsättningen regler.
Typer av datastrukturer
Det finns två typer av datastrukturer:
hitta i kartan c++
- Primitiv datastruktur
- Icke-primitiv datastruktur
Primitiv datastruktur
De primitiva datastrukturerna är primitiva datatyper. Int, char, float, double och pointer är de primitiva datastrukturerna som kan hålla ett enda värde.
Icke-primitiv datastruktur
Den icke-primitiva datastrukturen är uppdelad i två typer:
ficklampa installera
- Linjär datastruktur
- Icke-linjär datastruktur
Linjär datastruktur
Arrangemanget av data på ett sekventiellt sätt är känt som en linjär datastruktur. Datastrukturerna som används för detta ändamål är Arrays, Linked list, Stacks och Queues. I dessa datastrukturer är ett element kopplat till endast ett annat element i linjär form.
När ett element är kopplat till 'n' antalet element som kallas en icke-linjär datastruktur. Det bästa exemplet är träd och grafer. I detta fall är elementen arrangerade på ett slumpmässigt sätt.
Vi kommer att diskutera ovanstående datastrukturer i korthet i de kommande ämnena. Nu kommer vi att se de vanliga operationerna som vi kan utföra på dessa datastrukturer.
Datastrukturer kan också klassificeras som:
Stora operationer
De huvudsakliga eller vanliga operationerna som kan utföras på datastrukturerna är:
Vilken datastruktur?
En datastruktur är ett sätt att organisera datan så att den kan användas effektivt. Här har vi använt ordet effektivt, vilket både när det gäller rum och tid. Till exempel är en stack en ADT (Abstract data type) som använder antingen arrayer eller länkad listdatastruktur för implementeringen. Därför drar vi slutsatsen att vi kräver viss datastruktur för att implementera en viss ADT.
En ADT berättar Vad ska göras och datastrukturen berättar hur det ska göras. Med andra ord kan vi säga att ADT ger oss ritningen medan datastrukturen tillhandahåller implementeringsdelen. Nu uppstår frågan: hur kan man få veta vilken datastruktur som ska användas för en viss ADT?.
Eftersom de olika datastrukturerna kan implementeras i en viss ADT, men de olika implementeringarna jämförs för tid och rum. Till exempel kan Stack ADT implementeras av både Arrays och länkad lista. Anta att arrayen tillhandahåller tidseffektivitet medan den länkade listan tillhandahåller utrymmeseffektivitet, så den som är bäst lämpad för den aktuella användarens krav kommer att väljas.
Fördelar med datastrukturer
Följande är fördelarna med en datastruktur:
Datastrukturindex
Grunderna i DS
- DS Introduktion
- Ds asymptotisk analys
- DS struktur
DS Array
- 2D Array
DS länkad lista
java filterström
- Länkad lista
- Insättning i början
- Insättning i slutet
- Insättning efter angiven nod
- Radering i början
- Radering i slutet
- Radering efter angiven nod
- Traverserande
- Sökande
- Dubbelt länkad lista
- Insättning i början
- Insättning i slutet
- Insättning efter angiven nod
- Radering i början
- Radering i slutet
- Radering av nod som har gett data
- Traverserande
- Sökande
- Cirkulär länkad lista
- Insättning i början
- Insättning i slutet
- Radering i början
- Radering i slutet
- Traverserande
- Sökande
- Cirkulär dubbellista
- Insättning i början
- Insättning i slutet
- Radering i början
- Radering i slutet
DS Stack
- Array-implementering
- Implementering av länkad lista
DS Tail
- Array-implementering
- Implementering av länkad lista
- Cirkulär kö
DS-träd
- Träd
- Binärt träd
- Förbeställ Traversal
- Traversal i ordning
- Post-order Traversal
- Binärt sökträd
- Söker i BST
- Insättning i BST
- Radering i BST
- AVL-träd
- Insättning i AVL-träd
- LL Rotation
- LR Rotation
- RL Rotation
- RR Rotation
- Insättning i AVL-träd
- B Träd
- B+ träd
- Röd svart träd
DS-graf
- DS-graf
- Grafimplementering
- BFS-algoritm
- DFS-algoritm
- Spanning Tree
DS söker
DS sortering
- Bubblesortering
- Hinksortering
- Kam sortering
- Räknesortering
- Hög sortering
- Insättningssortering
- Sammanfoga sortering
- Snabb sortering
- Sortera Radix
- Urval Sortera
- Skalsortering
- Bitonic sortering
- Cocktailsort
- Cykelsortering
- Tim Sort
Intervjufrågor
java nollkontroll
- Program för att skapa och visa en enskild länkad lista
- Program för att skapa en enskilt länkad lista med n noder och räkna antalet noder
- Program för att skapa en enkellänkad lista med n noder och visa den i omvänd ordning
- Program för att ta bort en ny nod från början av den enkellänkade listan
- Program för att ta bort en ny nod från mitten av den enkellänkade listan
- Program för att ta bort en nod från slutet av den enkellänkade listan
- Program för att avgöra om en enkellänkad lista är palindromen
- Program för att hitta noden för högsta och lägsta värde från en enkellänkad lista
- Program för att infoga en ny nod i mitten av den enkellänkade listan
- Program för att infoga en ny nod i början av den enkellänkade listan
- Program för att infoga en ny nod i slutet av den enkellänkade listan
- Program för att ta bort dubbletter av element från en enkellänkad lista
- Program för att söka efter ett element i en enkellänkad lista
- Program för att sortera elementen i den enkellänkade listan
- Program för att byta noder i en enkellänkad lista utan att byta data
- Program för att byta ut det sista elementet i den enkellänkade listan från det första
Program med dubbla länkar
- Program för att konvertera ett givet binärt träd till dubbellänkad lista
- Program för att skapa en dubbellänkad lista från ett ternärt träd
- Program för att skapa en dubbellänkad lista med N noder och räkna antalet noder
- Program för att skapa en dubbellänkad lista med N noder och visa den i omvänd ordning
- Program för att skapa och visa en dubbellänkad lista
- Program för att ta bort en ny nod från början av listan med dubbelt länkade
- Program för att ta bort en ny nod från slutet av listan med dubbelt länkade
- Program för att ta bort en ny nod från mitten av listan med dubbelt länkade
- Program för att hitta noden för maximalt och minimalt värde från en dubbellänkad lista
- Program för att infoga en ny nod i början av listan med dubbelt länkade
- Program för att infoga en ny nod i slutet av dubbellänkad lista
- Program för att infoga en ny nod i mitten av dubbellänkade lista
- Program för att ta bort dubbletter av element från en dubbellänkad lista
- Program för att rotera dubbelt länkad lista med N noder
- Program för att söka efter ett element i en dubbellänkad lista
- Program för att sortera elementen i den dubbelt länkade listan
Cirkulära länkade listprogram
- Program för att skapa en cirkulär länkad lista med N noder och räkna antalet noder
- Program för att skapa en cirkulär länkad lista med N noder och visa den i omvänd ordning
- Program för att skapa och visa en cirkulär länkad lista
- Program för att ta bort en ny nod från början av den cirkulära länkade listan
- Program för att ta bort en ny nod från slutet av den cirkulära länkade listan
- Program för att ta bort en ny nod från mitten av den cirkulära länkade listan
- Program för att hitta noden för maximalt och minimalt värde från en cirkulär länkad lista
- Program för att infoga en ny nod i början av den cirkulära länkade listan
- Program för att infoga en ny nod i slutet av den cirkulära länkade listan
- Program för att infoga en ny nod i mitten av den cirkulära länkade listan
- Program för att ta bort dubbletter av element från en cirkulär länkad lista
- Program för att söka efter ett element i en cirkulär länkad lista
- Program för att sortera elementen i den cirkulära länkade listan
Trädprogram
- Program för att beräkna skillnaden mellan summan av noder på udda nivå och jämna nivåer i ett binärt träd
- Program för att konstruera ett binärt sökträd och utföra radering och genomgång av inorder
- Program för att konvertera binärt träd till binärt sökträd
- Program för att avgöra om alla blad är på samma nivå
- Program för att avgöra om två träd är identiska
- Program för att hitta maximal bredd på ett binärt träd
- Program för att hitta det största elementet i ett binärt träd
- Program för att hitta det maximala djupet eller höjden på ett träd
- Program för att hitta noderna som är på maximalt avstånd i ett binärt träd
- Program för att hitta det minsta elementet i ett binärt träd
- Program för att hitta summan av alla noder i ett binärt träd
- Program för att hitta det totala antalet möjliga binära sökträd med N nycklar
- Program för att implementera binärt träd med hjälp av den länkade listan
- Program för att söka efter en nod i ett binärt träd
Nödvändig förutsättning
Innan du lär dig datastruktur måste du ha grundläggande kunskaper i C.
Publik
Vår handledning för datastruktur är utformad för att hjälpa nybörjare och proffs.
Problem
Vi försäkrar att du inte kommer att hitta några problem i denna datastrukturhandledning. Men om det är något fel, vänligen posta det i kontaktformuläret.