logo

Vejledning om datastrukturer

DS Tutorial

Data Structures (DS) tutorial giver grundlæggende og avancerede koncepter for Data Structure. Vores datastrukturtutorial er designet til begyndere og professionelle.

Datastruktur er en måde at gemme og organisere data på, så de kan bruges effektivt.

Vores datastrukturtutorial inkluderer alle emner af datastruktur såsom matrix, pointer, struktur, linket liste, stak, kø, graf, søgning, sortering, programmer osv.

Hvad er datastruktur?

Datastrukturnavnet angiver sig selv, at organisering af data i hukommelsen. Der er mange måder at organisere dataene i hukommelsen på, da vi allerede har set en af ​​datastrukturerne, dvs. array i C-sprog. Array er en samling af hukommelseselementer, hvor data lagres sekventielt, dvs. den ene efter den anden. Med andre ord kan vi sige, at array gemmer elementerne på en kontinuerlig måde. Denne organisering af data sker ved hjælp af en række datastrukturer. Der er også andre måder at organisere dataene i hukommelsen. Lad os se de forskellige typer datastrukturer.

Datastrukturen er ikke et hvilket som helst programmeringssprog som C, C++, java osv. Det er et sæt algoritmer, som vi kan bruge i et hvilket som helst programmeringssprog til at strukturere dataene i hukommelsen.

For at strukturere dataene i hukommelsen blev 'n' antal algoritmer foreslået, og alle disse algoritmer er kendt som abstrakte datatyper. Disse abstrakte datatyper er sættet af regler.

Vejledning om datastrukturer

Typer af datastrukturer

Der er to typer datastrukturer:

java operatører
  • Primitiv datastruktur
  • Ikke-primitiv datastruktur

Primitiv datastruktur

De primitive datastrukturer er primitive datatyper. Int, char, float, double og pointer er de primitive datastrukturer, der kan indeholde en enkelt værdi.

Ikke-primitiv datastruktur

Den ikke-primitive datastruktur er opdelt i to typer:

knn
  • Lineær datastruktur
  • Ikke-lineær datastruktur

Lineær datastruktur

Arrangementet af data på en sekventiel måde er kendt som en lineær datastruktur. De datastrukturer, der bruges til dette formål, er Arrays, Linked list, Stacks og Queuees. I disse datastrukturer er ét element kun forbundet med hinanden i lineær form.

Når et element er forbundet med 'n' antallet af elementer kendt som en ikke-lineær datastruktur. Det bedste eksempel er træer og grafer. I dette tilfælde er elementerne arrangeret på en tilfældig måde.

Vi vil kort diskutere ovenstående datastrukturer i de kommende emner. Nu vil vi se de almindelige operationer, som vi kan udføre på disse datastrukturer.

Datastrukturer kan også klassificeres som:

    Statisk datastruktur:Det er en type datastruktur, hvor størrelsen tildeles på kompileringstidspunktet. Derfor er den maksimale størrelse fast.Dynamisk datastruktur:Det er en type datastruktur, hvor størrelsen tildeles på kørselstiden. Derfor er den maksimale størrelse fleksibel.

Større operationer

De vigtigste eller de almindelige operationer, der kan udføres på datastrukturerne, er:

    Søger:Vi kan søge efter ethvert element i en datastruktur.Sortering:Vi kan sortere elementerne i en datastruktur enten i stigende eller faldende rækkefølge.Indskud:Vi kan også indsætte det nye element i en datastruktur.Opdatering:Vi kan også opdatere elementet, dvs. vi kan erstatte elementet med et andet element.Sletning:Vi kan også udføre sletningsoperationen for at fjerne elementet fra datastrukturen.

Hvilken datastruktur?

En datastruktur er en måde at organisere dataene på, så de kan bruges effektivt. Her har vi brugt ordet effektivt, hvilket både med hensyn til rum og tid. For eksempel er en stak en ADT (Abstract data type), som bruger enten arrays eller linked list datastruktur til implementeringen. Derfor konkluderer vi, at vi kræver en vis datastruktur for at implementere en bestemt ADT.

En ADT fortæller hvad skal gøres og datastruktur fortæller hvordan det skal gøres. Med andre ord kan vi sige, at ADT giver os blueprintet, mens datastrukturen giver implementeringsdelen. Nu opstår spørgsmålet: hvordan kan man få at vide, hvilken datastruktur der skal bruges til en bestemt ADT?.

Da de forskellige datastrukturer kan implementeres i en bestemt ADT, men de forskellige implementeringer sammenlignes for tid og rum. For eksempel kan Stack ADT implementeres af både Arrays og linked list. Antag, at arrayet giver tidseffektivitet, mens den linkede liste giver pladseffektivitet, så den, der er bedst egnet til den aktuelle brugers krav, vil blive valgt.

Fordele ved datastrukturer

Følgende er fordelene ved en datastruktur:

    Effektivitet:Hvis valget af en datastruktur til implementering af en bestemt ADT er korrekt, gør det programmet meget effektivt med hensyn til tid og rum.Genanvendelighed:Datastrukturen giver genbrugelighed betyder, at flere klientprogrammer kan bruge datastrukturen.Abstraktion:Datastrukturen specificeret af en ADT giver også abstraktionsniveauet. Klienten kan ikke se den interne funktion af datastrukturen, så den behøver ikke bekymre sig om implementeringsdelen. Klienten kan kun se grænsefladen.

Datastrukturindeks


Grundlæggende DS

  • DS Introduktion
  • Ds Asymptotisk Analyse
  • DS Struktur

DS Array

  • 2D Array

DS Linked List

linux kommando til zip
  • Linket liste
    • Indsættelse i begyndelsen
    • Indsættelse i slutningen
    • Indsættelse efter specificeret node
    • Sletning i begyndelsen
    • Sletning til sidst
    • Sletning efter specificeret node
    • Traversering
    • Søger
  • Dobbeltforbundet liste
    • Indsættelse i begyndelsen
    • Indsættelse i slutningen
    • Indsættelse efter specificeret node
    • Sletning i begyndelsen
    • Sletning til sidst
    • Sletning af node, der har givet data
    • Traversering
    • Søger
  • Cirkulær linket liste
    • Indsættelse i begyndelsen
    • Indsættelse i slutningen
    • Sletning i begyndelsen
    • Sletning til sidst
    • Traversering
    • Søger
  • Cirkulær dobbeltliste
    • Indsættelse i begyndelsen
    • Indsættelse i slutningen
    • Sletning i begyndelsen
    • Sletning til sidst

DS stak

DS Hale

  • Array implementering
  • Implementering af linkede liste
  • Cirkulær kø

DS træ

DS graf

DS Søger

DS Sortering

Interview spørgsmål

java har næste
  • Program til at oprette og vise en enkelt linket liste
  • Program til at oprette en enkeltforbundet liste med n noder og tælle antallet af noder
  • Program til at oprette en enkeltforbundet liste med n noder og vise den i omvendt rækkefølge
  • Program til at slette en ny node fra begyndelsen af ​​den enkeltforbundne liste
  • Program til at slette en ny node fra midten af ​​den enkeltforbundne liste
  • Program til at slette en node fra slutningen af ​​den enkeltforbundne liste
  • Program til at bestemme, om en enkeltforbundet liste er palindromet
  • Program til at finde noden for maksimum og minimum værdi fra en enkelt linket liste
  • Program til at indsætte en ny node i midten af ​​den enkeltforbundne liste
  • Program til at indsætte en ny node i begyndelsen af ​​den enkeltforbundne liste
  • Program til at indsætte en ny node i slutningen af ​​den enkeltforbundne liste
  • Program til at fjerne duplikerede elementer fra en enkelt linket liste
  • Program til at søge efter et element i en enkelt linket liste
  • Program til at sortere elementerne i den enkeltforbundne liste
  • Program til at bytte noder i en enkelt lænket liste uden at bytte data
  • Program til at udskifte det sidste element i den enkeltforbundne liste fra den første

Programmer med dobbelt linkede lister

  • Program til at konvertere et givet binært træ til dobbeltforbundet liste
  • Program til at oprette en dobbeltforbundet liste fra et ternært træ
  • Program til at oprette en dobbeltforbundet liste over N noder og tælle antallet af noder
  • Program til at oprette en dobbeltforbundet liste over N noder og vise den i omvendt rækkefølge
  • Program til at oprette og vise en dobbeltforbundet liste
  • Program til at slette en ny node fra begyndelsen af ​​den dobbeltforbundne liste
  • Program til at slette en ny node fra slutningen af ​​den dobbeltforbundne liste
  • Program til at slette en ny node fra midten af ​​listen med dobbelt link
  • Program til at finde den maksimale og minimale værdi node fra en dobbelt linket liste
  • Program til at indsætte en ny node i begyndelsen af ​​den dobbeltforbundne liste
  • Program til at indsætte en ny node i slutningen af ​​dobbeltforbundet liste
  • Program til at indsætte en ny node i midten af ​​dobbeltforbundet liste
  • Program til at fjerne duplikerede elementer fra en dobbelt linket liste
  • Program til at rotere dobbeltforbundet liste efter N noder
  • Program til at søge efter et element i en dobbeltforbundet liste
  • Program til at sortere elementerne i den dobbeltforbundne liste

Cirkulære Linked List Programmer

  • Program til at oprette en cirkulær linket liste over N noder og tælle antallet af noder
  • Program til at oprette en cirkulær linket liste over N noder og vise den i omvendt rækkefølge
  • Program til at oprette og vise en cirkulær linket liste
  • Program til at slette en ny node fra begyndelsen af ​​den cirkulære linkede liste
  • Program til at slette en ny node fra slutningen af ​​den cirkulære linkede liste
  • Program til at slette en ny node fra midten af ​​den cirkulære linkede liste
  • Program til at finde den maksimale og minimale værdi node fra en cirkulær linket liste
  • Program til at indsætte en ny node i begyndelsen af ​​den cirkulære linkede liste
  • Program til at indsætte en ny node i slutningen af ​​den cirkulære linkede liste
  • Program til at indsætte en ny node i midten af ​​den cirkulære linkede liste
  • Program til at fjerne duplikerede elementer fra en cirkulær linket liste
  • Program til at søge efter et element i en cirkulær linket liste
  • Program til at sortere elementerne i den cirkulære linkede liste

Træ programmer

  • Program til at beregne forskellen mellem summen af ​​det ulige niveau og lige niveau noder i et binært træ
  • Program til at konstruere et binært søgetræ og udføre sletning og gennemgang af rækkefølge
  • Program til at konvertere binært træ til binært søgetræ
  • Program til at bestemme, om alle blade er på samme niveau
  • Program til at bestemme, om to træer er identiske
  • Program til at finde den maksimale bredde af et binært træ
  • Program til at finde det største element i et binært træ
  • Program til at finde den maksimale dybde eller højde af et træ
  • Program til at finde de noder, der er i den maksimale afstand i et binært træ
  • Program til at finde det mindste element i et binært træ
  • Program til at finde summen af ​​alle noder i et binært træ
  • Program til at finde det samlede antal mulige binære søgetræer med N nøgler
  • Program til at implementere binært træ ved hjælp af den linkede liste
  • Program til at søge efter en node i et binært træ

Forudsætning

Før du lærer Datastruktur, skal du have det grundlæggende kendskab til C.

Publikum

Vores datastrukturtutorial er designet til at hjælpe begyndere og professionelle.

Problem

Vi forsikrer, at du ikke vil finde noget problem i denne datastruktur-tutorial. Men hvis der er nogen fejl, bedes du skrive det i kontaktformularen.