logo

Handledning för datastrukturer

Handledning för DS

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.

Handledning för datastrukturer

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:

    Statisk datastruktur:Det är en typ av datastruktur där storleken tilldelas vid kompileringstillfället. Därför är den maximala storleken fast.Dynamisk datastruktur:Det är en typ av datastruktur där storleken tilldelas vid körning. Därför är den maximala storleken flexibel.

Stora operationer

De huvudsakliga eller vanliga operationerna som kan utföras på datastrukturerna är:

    Sökande:Vi kan söka efter vilket element som helst i en datastruktur.Sortering:Vi kan sortera elementen i en datastruktur antingen i stigande eller fallande ordning.Införande:Vi kan också infoga det nya elementet i en datastruktur.Uppdatering:Vi kan också uppdatera elementet, det vill säga vi kan ersätta elementet med ett annat element.Radering:Vi kan också utföra raderingsoperationen för att ta bort elementet från datastrukturen.

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:

    Effektivitet:Om valet av en datastruktur för att implementera en viss ADT är korrekt gör det programmet mycket effektivt när det gäller tid och rum.Återanvändbarhet:Datastrukturen ger återanvändbarhet innebär att flera klientprogram kan använda datastrukturen.Abstraktion:Datastrukturen som specificeras av en ADT ger också abstraktionsnivån. Klienten kan inte se datastrukturens interna funktion, så den behöver inte oroa sig för implementeringsdelen. Klienten kan bara se gränssnittet.

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

DS Tail

  • Array-implementering
  • Implementering av länkad lista
  • Cirkulär kö

DS-träd

DS-graf

DS söker

DS sortering

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.