Einführung in Datenstrukturen und Algorithmen Interview Fragen und Antworten

Datenstruktur ist eine Methode, mit der Daten in einem strukturellen und systematischen Format definiert, gespeichert und abgerufen werden. Eine Datenstruktur enthält verschiedene Arten von Datensätzen. Verschiedene Arten von Daten stehen für verschiedene Arten von Anwendungen zur Verfügung, und einige der Daten sind stark auf bestimmte Aufgaben spezialisiert. Ein Algorithmus ist eine schrittweise Prozedur mit einer Reihe von Anweisungen, die auf geeignete Weise ausgeführt werden, um die gewünschte Ausgabe zu erhalten. In der Mathematik und Informatik bedeutet ein Algorithmus normalerweise eine kleine Prozedur, die ein wiederkehrendes Problem löst.

Im Folgenden finden Sie die wichtigsten Fragen und Antworten zu Datenstrukturen und -algorithmen für 2018:

Wenn Sie nach einem Job suchen, der sich auf Datenstrukturen und -algorithmen bezieht, müssen Sie sich auf die Interviewfragen zu Datenstrukturen und -algorithmen für 2018 vorbereiten. Obwohl jedes Interview anders ist und der Umfang eines Jobs auch anders ist, können wir Ihnen mit den wichtigsten Fragen und Antworten zu Datenstrukturen und -algorithmen helfen, den Sprung zu wagen und Ihr Interview zum Erfolg zu führen.

Diese Hauptfragen gliedern sich in zwei Teile:

Teil 1 - Fragen zu Datenstrukturen und Algorithmen (Grundkenntnisse)

Dieser erste Teil behandelt die grundlegenden Fragen und Antworten zu Datenstrukturen und -algorithmen.

1. Was ist eine Datenstruktur?

Antworten:
Eine Datenstruktur ist eine Möglichkeit, Daten strukturell und systematisch zu definieren, zu speichern und abzurufen. Eine Datenstruktur kann einen anderen Datenelementtyp enthalten. Verschiedene Arten von Datenstrukturen eignen sich für verschiedene Arten von Anwendungen, und einige sind stark auf bestimmte Aufgaben spezialisiert.

2. Welche verschiedenen Datenstrukturen stehen zur Verfügung?

Antworten:
Die Verfügbarkeit der Datenstruktur kann je nach Programmiersprache variieren. Häufig verfügbare Datenstrukturen sind Liste, Arrays, Stapel, Warteschlangen, Diagramme, Baum usw.

3. Was ist ein Algorithmus?

Antworten:
Ein Algorithmus ist eine schrittweise Prozedur, die eine Reihe von Anweisungen definiert, die in einer bestimmten Reihenfolge ausgeführt werden müssen, um die gewünschte Ausgabe zu erhalten. Ein Computerprogramm kann als aufwändiger Algorithmus angesehen werden. In der Mathematik und Informatik bedeutet ein Algorithmus normalerweise eine kleine Prozedur, die ein wiederkehrendes Problem löst.

Kommen wir zu den nächsten Interviewfragen zu Datenstrukturen und Algorithmen

4. Unterscheiden Sie die Dateistruktur von der Speicherstruktur.

Antworten:
Tatsächlich ist der Hauptunterschied der Speicherbereich, auf den zugegriffen wird. Wenn es sich um die Struktur handelt, die sich im Hauptspeicher des Computersystems befindet, wird dies als Speicherstruktur bezeichnet. Wenn es sich um eine Hilfsstruktur handelt, bezeichnen wir sie als Dateistrukturen.

5. Was ist eine verknüpfte Liste?

Antworten:
Eine verknüpfte Liste ist eine Liste von Datenelementen, die mit Verknüpfungen, dh Zeigern oder Referenzen, verbunden sind. Die meisten modernen höheren Programmiersprachen bieten nicht die Möglichkeit, direkt auf einen Speicherort zuzugreifen. Daher wird die verknüpfte Liste in ihnen nicht unterstützt oder ist in Form eingebauter Funktionen verfügbar. In der Informatik ist eine verknüpfte Liste eine lineare Sammlung von Datenelementen, bei denen die lineare Reihenfolge nicht durch ihre physikalische Platzierung im Speicher gegeben ist. Stattdessen zeigt jedes Element auf das nächste. Es ist eine Datenstruktur, die aus einer Gruppe von Knoten besteht, die zusammen eine Sequenz darstellen.

6. Was ist der Stapel?

Antworten:
In der Datenstruktur ist ein Stapel ein abstrakter Datentyp (ADT), der zum Speichern und Abrufen von Werten in der Last-In-First-Out-Methode verwendet wird. Der Stapel ist der Speicher, der als Arbeitsspeicher für einen Ausführungsthread reserviert ist.

7. Warum verwenden wir Stapel?

Antworten:
Eine Stapelstruktur schränkt das Einfügen, Abrufen und Entfernen von Elementen drastisch ein: Das zuletzt in den Stapel eingefügte Element ist das einzige, das abgerufen oder entfernt werden kann. Stapel folgen der LIFO-Methode, und das Hinzufügen und Abrufen eines Datenelements dauert nur Ο (n) Mal. Stapel werden dort verwendet, wo wir in umgekehrter Reihenfolge ihrer Ankunft auf Daten zugreifen müssen. Stapel werden häufig in rekursiven Funktionsaufrufen, Ausdrucksanalyse, Tiefendurchquerung von Diagrammen usw. verwendet.

Teil 2 - Fragen zu Datenstrukturen und Algorithmen (für Fortgeschrittene)

Lassen Sie uns nun einen Blick auf die erweiterten Interviewfragen zu Datenstrukturen und Algorithmen werfen.

8. Welche Operationen können an Stapeln durchgeführt werden?

Antworten:
Die folgenden Operationen können auf einem Stapel ausgeführt werden -
• push () - fügt ein Element zum Stapel hinzu - Insertion
• pop () - Entfernt das oberste Stapelelement -Deletion
• peek () - gibt einen Wert eines obersten Elements an, ohne es zu entfernen
• isempty () - Prüft, ob ein Stapel leer ist - Keine Prüfung
• isfull () - Überprüft, ob ein Stapel voll ist - Kein Speicherplatz

9. Was ist eine Warteschlange in der Datenstruktur?

Antworten:
Die Warteschlange ist eine abstrakte Datenstruktur, die dem Stack ähnelt. Im Gegensatz zum Stack wird an beiden Enden eine Queue geöffnet. Ein Ende wird immer zum Einfügen von Daten (Enqueue) und das andere zum Entfernen von Daten (Dequeue) verwendet. Die Warteschlange folgt der First-In-First-Out-Methode, dh auf das zuerst gespeicherte Datenelement wird zuerst zugegriffen.

10. Was ist lineare Suche?

Antworten:
Die lineare Suche versucht, ein Element in einem sequentiell angeordneten Datentyp zu finden. Auf diese sequenziell angeordneten Datenelemente, die als Array oder Liste bekannt sind, kann in aufsteigender Reihenfolge zugegriffen werden. Die lineare Suche vergleicht das erwartete Datenelement mit jedem Datenelement in der Liste oder im Array. Die durchschnittliche Fallzeitkomplexität der linearen Suche beträgt Ο (n) und die Komplexität im ungünstigsten Fall beträgt Ο (n2). Daten in Ziel-Arrays / -Listen müssen nicht sortiert werden.

Kommen wir zu den nächsten Interviewfragen zu Datenstrukturen und Algorithmen

11. Was ist eine binäre Suche?

Antworten:
Eine binäre Suche funktioniert nur bei sortierten Listen oder Arrays. Diese Suche wählt die Mitte aus, die die gesamte Liste in zwei Teile aufteilt. Zunächst wird die Mitte verglichen.
Diese Suche vergleicht zuerst den Zielwert mit der Mitte der Liste. Wird es nicht gefunden, entscheidet es über das Wetter. In der Informatik ist die binäre Suche, die auch als Halbintervallsuche, logarithmische Suche oder binärer Chop bezeichnet wird, ein Suchalgorithmus, der die Position eines Zielwerts innerhalb eines sortierten Arrays findet.

12. Was ist ein Graph?

Antworten:
Ein Graph ist eine bildliche Darstellung eines Satzes von Objekten, bei denen einige Objektpaare durch Verknüpfungen verbunden sind. Die miteinander verbundenen Objekte werden durch Punkte dargestellt, die als Eckpunkte bezeichnet werden, und die Verknüpfungen, die die Eckpunkte verbinden, werden als Kanten bezeichnet. Eine Graphendatenstruktur besteht aus einer endlichen (und möglicherweise veränderlichen) Menge von Eckpunkten oder Knoten oder Punkten zusammen mit einer Menge von ungeordneten Paaren dieser Eckpunkte für einen ungerichteten Graphen oder einer Menge von geordneten Paaren für einen gerichteten Graphen.

13. Was ist eine rekursive Funktion?

Antworten:
Eine rekursive Funktion ruft sich selbst direkt auf oder ruft eine Funktion auf, die sie wiederum aufruft. Jede rekursive Funktion folgt den rekursiven Eigenschaften - Basiskriterien, bei denen sich Funktionen nicht mehr selbst aufrufen, und dem progressiven Ansatz, bei dem die Funktionen versuchen, die Basiskriterien in jeder Iteration zu erfüllen. Eine wichtige Anwendung der Rekursion in der Informatik ist die Definition dynamischer Datenstrukturen wie Listen und Bäume.

14. Was ist ein Turm von Hanoi?

Antworten:
Tower of Hanoi ist ein mathematisches Puzzle, das aus drei Türmen (Heringen) und mehr als einem Ring besteht. Alle Ringe sind unterschiedlich groß und übereinander gestapelt, wobei sich die große Scheibe immer unter der kleinen Scheibe befindet. Ziel ist es, den Turm einer Scheibe von einem Zapfen auf einen anderen zu bewegen, ohne deren Eigenschaften zu zerstören. Das Ziel dieses Spiels ist es, die Scheiben einzeln vom ersten bis zum letzten Stift zu bewegen. Und es gibt nur EINE Bedingung: Wir können keine größere Festplatte auf eine kleinere Festplatte legen.

15. Nennen Sie einige Beispiele für gierige Algorithmen.

Antworten:
Die unten angegebenen Probleme werden mit einem gierigen Algorithmus gelöst:
• Problem mit Handlungsreisenden
• Prims minimaler Spanning Tree-Algorithmus
• Kruskal's Minimal Spanning Tree Algorithmus
• Dijkstra's Minimal Spanning Tree Algorithmus
• Grafik - Kartenfarbe
• Graph - Vertex Cover
• Rucksackproblem
• Job Scheduling Problem

Empfohlener Artikel

Dies war ein Leitfaden für die Liste der Fragen und Antworten zu Datenstrukturen und -algorithmen, damit der Kandidat diese Fragen zu Datenstrukturen und -algorithmen leicht durchgreifen kann. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. 10 Beste Datenstrukturen und Algorithmen C ++ | Grundlagen
  2. Best Choice Programming Languages ​​zum Erlernen von Algorithmen
  3. Fragen im Vorstellungsgespräch bei SSRS - So knacken Sie die 10 wichtigsten Fragen
  4. Fragen im Vorstellungsgespräch zur Netzwerksicherheit - am häufigsten gestellt