logo

Zelfstudie over gegevensstructuren

DS-zelfstudie

De Data Structures (DS)-tutorial biedt basis- en geavanceerde concepten van datastructuur. Onze Datastructuur-tutorial is bedoeld voor beginners en professionals.

Datastructuur is een manier om gegevens op te slaan en te organiseren, zodat deze efficiënt kunnen worden gebruikt.

Onze datastructuur-tutorial omvat alle onderwerpen van de datastructuur, zoals array, aanwijzer, structuur, gekoppelde lijst, stapel, wachtrij, grafiek, zoeken, sorteren, programma's, enz.

Wat is datastructuur?

De naam van de datastructuur geeft zelf aan dat de gegevens in het geheugen worden georganiseerd. Er zijn veel manieren om de gegevens in het geheugen te organiseren, zoals we al een van de datastructuren hebben gezien, namelijk array in C-taal. Array is een verzameling geheugenelementen waarin gegevens opeenvolgend worden opgeslagen, dat wil zeggen de een na de ander. Met andere woorden, we kunnen zeggen dat de array de elementen op een continue manier opslaat. Deze organisatie van gegevens gebeurt met behulp van een reeks gegevensstructuren. Er zijn ook andere manieren om de gegevens in het geheugen te ordenen. Laten we eens kijken naar de verschillende soorten datastructuren.

De datastructuur is niet een programmeertaal zoals C, C++, Java, enz. Het is een reeks algoritmen die we in elke programmeertaal kunnen gebruiken om de gegevens in het geheugen te structureren.

Om de gegevens in het geheugen te structureren, werden 'n' aantal algoritmen voorgesteld, en al deze algoritmen staan ​​bekend als abstracte gegevenstypen. Deze abstracte gegevenstypen vormen de set regels.

Zelfstudie over gegevensstructuren

Soorten gegevensstructuren

Er zijn twee soorten datastructuren:

lente mvc
  • Primitieve datastructuur
  • Niet-primitieve datastructuur

Primitieve gegevensstructuur

De primitieve datastructuren zijn primitieve datatypen. De int, char, float, double en pointer zijn de primitieve datastructuren die één enkele waarde kunnen bevatten.

Niet-primitieve gegevensstructuur

De niet-primitieve datastructuur is verdeeld in twee typen:

  • Lineaire datastructuur
  • Niet-lineaire datastructuur

Lineaire gegevensstructuur

De rangschikking van gegevens op een sequentiële manier staat bekend als een lineaire datastructuur. De datastructuren die voor dit doel worden gebruikt zijn Arrays, Linked List, Stacks en Queues. In deze datastructuren is één element lineair met slechts één ander element verbonden.

Wanneer één element is verbonden met het 'n'-aantal elementen, bekend als een niet-lineaire datastructuur. Het beste voorbeeld zijn bomen en grafieken. In dit geval zijn de elementen op willekeurige wijze gerangschikt.

Java is gelijk

We zullen de bovenstaande datastructuren in de komende onderwerpen kort bespreken. Nu zullen we de algemene bewerkingen zien die we op deze datastructuren kunnen uitvoeren.

Datastructuren kunnen ook worden geclassificeerd als:

    Statische datastructuur:Het is een type datastructuur waarbij de grootte wordt toegewezen tijdens het compileren. Daarom ligt de maximale grootte vast.Dynamische datastructuur:Het is een type datastructuur waarbij de grootte tijdens de runtime wordt toegewezen. Daarom is de maximale maat flexibel.

Grote operaties

De belangrijkste of meest voorkomende bewerkingen die op de datastructuren kunnen worden uitgevoerd, zijn:

    Zoeken:We kunnen naar elk element in een datastructuur zoeken.Sorteren:We kunnen de elementen van een datastructuur in oplopende of aflopende volgorde sorteren.Plaatsing:We kunnen het nieuwe element ook in een datastructuur invoegen.Update:We kunnen het element ook bijwerken, d.w.z. we kunnen het element vervangen door een ander element.Verwijdering:We kunnen ook de verwijderbewerking uitvoeren om het element uit de datastructuur te verwijderen.

Welke datastructuur?

Een datastructuur is een manier om de gegevens zo te organiseren dat deze efficiënt kunnen worden gebruikt. Hier hebben we het woord efficiënt gebruikt, zowel in termen van ruimte als tijd. Een stapel is bijvoorbeeld een ADT (Abstract data type) dat voor de implementatie gebruik maakt van arrays of een gekoppelde lijstgegevensstructuur. Daarom concluderen we dat we een bepaalde datastructuur nodig hebben om een ​​bepaalde ADT te implementeren.

Een ADT vertelt Wat moet worden gedaan en de datastructuur vertelt Hoe het moet gedaan worden. Met andere woorden, we kunnen zeggen dat ADT ons de blauwdruk geeft, terwijl de datastructuur het implementatiegedeelte verzorgt. Nu rijst de vraag: hoe kan men weten welke datastructuur voor een bepaalde ADT moet worden gebruikt?

Omdat de verschillende datastructuren in een bepaalde ADT kunnen worden geïmplementeerd, worden de verschillende implementaties echter vergeleken voor tijd en ruimte. De Stack ADT kan bijvoorbeeld worden geïmplementeerd door zowel arrays als gekoppelde lijsten. Stel dat de array tijdsefficiëntie biedt terwijl de gekoppelde lijst ruimte-efficiëntie biedt, dan zal degene worden geselecteerd die het meest geschikt is voor de vereisten van de huidige gebruiker.

Voordelen van datastructuren

Dit zijn de voordelen van een datastructuur:

    Efficiëntie:Als de keuze van een datastructuur voor het implementeren van een bepaalde ADT juist is, maakt dit het programma zeer efficiënt in termen van tijd en ruimte.Herbruikbaarheid:De datastructuur biedt herbruikbaarheid, wat betekent dat meerdere clientprogramma's de datastructuur kunnen gebruiken.Abstractie:De door een ADT gespecificeerde datastructuur biedt ook het abstractieniveau. De klant kan de interne werking van de datastructuur niet zien en hoeft zich dus geen zorgen te maken over het implementatiegedeelte. De client kan alleen de interface zien.

Index van gegevensstructuren


DS-basisprincipes

  • DS-introductie
  • Ds Asymptotische analyse
  • DS-structuur

DS-array

  • 2D-array

DS-gekoppelde lijst

  • Gekoppelde lijst
    • Invoeging aan het begin
    • Invoeging aan het einde
    • Invoeging na gespecificeerd knooppunt
    • Verwijdering aan het begin
    • Verwijdering aan het einde
    • Verwijdering na opgegeven knooppunt
    • Doorkruisen
    • Zoeken
  • Dubbel gekoppelde lijst
    • Invoeging aan het begin
    • Invoeging aan het einde
    • Invoeging na gespecificeerd knooppunt
    • Verwijdering aan het begin
    • Verwijdering aan het einde
    • Verwijdering van een knooppunt dat gegevens heeft verstrekt
    • Doorkruisen
    • Zoeken
  • Circulaire gekoppelde lijst
    • Invoeging aan het begin
    • Invoeging aan het einde
    • Verwijdering aan het begin
    • Verwijdering aan het einde
    • Doorkruisen
    • Zoeken
  • Circulaire dubbellijst
    • Invoeging aan het begin
    • Invoeging aan het einde
    • Verwijdering aan het begin
    • Verwijdering aan het einde

DS-stapel

DS-staart

DS Boom

soorten testen

DS-grafiek

DS zoeken

DS-sortering

Interview vragen

distributieve wet booleaanse algebra
  • Programma om een ​​afzonderlijk gekoppelde lijst te maken en weer te geven
  • Programma om een ​​enkelvoudig gekoppelde lijst van n knooppunten te maken en het aantal knooppunten te tellen
  • Programma om een ​​enkelvoudig gekoppelde lijst van n knooppunten te maken en deze in omgekeerde volgorde weer te geven
  • Programma om een ​​nieuw knooppunt vanaf het begin van de enkelvoudig gekoppelde lijst te verwijderen
  • Programma om een ​​nieuw knooppunt uit het midden van de enkelvoudig gekoppelde lijst te verwijderen
  • Programma om een ​​knooppunt aan het einde van de enkelvoudig gekoppelde lijst te verwijderen
  • Programma om te bepalen of een enkelvoudig gekoppelde lijst het palindroom is
  • Programma om het maximum- en minimumwaardeknooppunt te vinden uit een enkelvoudig gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in het midden van de enkelvoudig gekoppelde lijst in te voegen
  • Programma om een ​​nieuw knooppunt in te voegen aan het begin van de enkelvoudig gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in te voegen aan het einde van de enkelvoudig gekoppelde lijst
  • Programma om dubbele elementen uit een enkelvoudig gekoppelde lijst te verwijderen
  • Programma om een ​​element in een enkelvoudig gekoppelde lijst te zoeken
  • Programma om de elementen van de enkelvoudig gekoppelde lijst te sorteren
  • Programma om knooppunten in een enkelvoudig gekoppelde lijst te wisselen zonder gegevens uit te wisselen
  • Programma om het laatste element van de enkelvoudig gekoppelde lijst te verwisselen van het eerste

Dubbel gekoppelde lijstprogramma's

  • Programma om een ​​gegeven binaire boom om te zetten in een dubbel gekoppelde lijst
  • Programma om een ​​dubbel gekoppelde lijst te maken op basis van een ternaire boom
  • Programma om een ​​dubbel gekoppelde lijst van N knooppunten te maken en het aantal knooppunten te tellen
  • Programma om een ​​dubbel gekoppelde lijst van N-knooppunten te maken en deze in omgekeerde volgorde weer te geven
  • Programma om een ​​dubbel gekoppelde lijst te maken en weer te geven
  • Programma om een ​​nieuw knooppunt te verwijderen vanaf het begin van de dubbel gekoppelde lijst
  • Programma om een ​​nieuw knooppunt aan het einde van de dubbel gekoppelde lijst te verwijderen
  • Programma om een ​​nieuw knooppunt uit het midden van de dubbel gekoppelde lijst te verwijderen
  • Programma om het maximale en minimale waardeknooppunt uit een dubbel gekoppelde lijst te vinden
  • Programma om een ​​nieuw knooppunt in te voegen aan het begin van de dubbel gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in te voegen aan het einde van de dubbel gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in het midden van de dubbel gekoppelde lijst in te voegen
  • Programma om dubbele elementen uit een dubbel gekoppelde lijst te verwijderen
  • Programma om dubbel gekoppelde lijst per N knooppunten te roteren
  • Programma om een ​​element in een dubbel gekoppelde lijst te zoeken
  • Programma om de elementen van de dubbel gekoppelde lijst te sorteren

Circulaire gekoppelde lijstprogramma's

  • Programma om een ​​circulair gekoppelde lijst van N knooppunten te maken en het aantal knooppunten te tellen
  • Programma om een ​​circulair gekoppelde lijst van N-knooppunten te maken en deze in omgekeerde volgorde weer te geven
  • Programma om een ​​circulair gekoppelde lijst te maken en weer te geven
  • Programma om een ​​nieuw knooppunt te verwijderen vanaf het begin van de circulair gekoppelde lijst
  • Programma om een ​​nieuw knooppunt aan het einde van de circulair gekoppelde lijst te verwijderen
  • Programma om een ​​nieuw knooppunt uit het midden van de circulair gekoppelde lijst te verwijderen
  • Programma om het maximale en minimale waardeknooppunt uit een circulair gekoppelde lijst te vinden
  • Programma om een ​​nieuw knooppunt in te voegen aan het begin van de circulair gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in te voegen aan het einde van de circulair gekoppelde lijst
  • Programma om een ​​nieuw knooppunt in het midden van de circulair gekoppelde lijst in te voegen
  • Programma om dubbele elementen uit een circulair gekoppelde lijst te verwijderen
  • Programma om een ​​element in een circulair gekoppelde lijst te zoeken
  • Programma om de elementen van de circulair gekoppelde lijst te sorteren

Boomprogramma's

  • Programma om het verschil te berekenen tussen de som van de oneven niveau- en even-niveauknooppunten van een binaire boom
  • Programma om een ​​binaire zoekboom te construeren en verwijdering en inorder-traversal uit te voeren
  • Programma om binaire boom naar binaire zoekboom te converteren
  • Programma om te bepalen of alle bladeren zich op hetzelfde niveau bevinden
  • Programma om te bepalen of twee bomen identiek zijn
  • Programma om de maximale breedte van een binaire boom te vinden
  • Programma om het grootste element in een binaire boom te vinden
  • Programma om de maximale diepte of hoogte van een boom te vinden
  • Programma om de knooppunten te vinden die zich op de maximale afstand in een binaire boom bevinden
  • Programma om het kleinste element in een binaire boom te vinden
  • Programma om de som van alle knooppunten van een binaire boom te vinden
  • Programma om het totale aantal mogelijke binaire zoekbomen met N-sleutels te vinden
  • Programma om binaire boom te implementeren met behulp van de gekoppelde lijst
  • Programma om een ​​knooppunt in een binaire boom te zoeken

Voorwaarde

Voordat je Data Structure leert, moet je de basiskennis van C hebben.

Publiek

Onze Datastructuur-tutorial is ontworpen om beginners en professionals te helpen.

Probleem

Wij verzekeren u dat u geen enkel probleem zult tegenkomen in deze Data Structure-tutorial. Maar als er een fout is, plaats deze dan in het contactformulier.