Inleiding tot gegevensstructuren en algoritmen Interviewvragen en antwoorden

Gegevensstructuur is een manier die de gegevens definieert, opslaat en ophaalt in een structureel en systematisch formaat. Een gegevensstructuur bevat verschillende soorten gegevenssets. Verschillende soorten gegevens zijn beschikbaar voor verschillende soorten toepassingen, en sommige gegevens zijn zeer gespecialiseerd voor specifieke taken. Een algoritme is een stapsgewijze procedure met een reeks instructies om op een geschikte manier uit te voeren om de gewenste uitvoer te krijgen. In de wiskunde en informatica betekent een algoritme meestal een kleine procedure die een terugkerend probleem oplost.

Hieronder staan ​​de topvragen en antwoorden over datastructuren en algoritmen voor 2018:

Als u op zoek bent naar een baan die gerelateerd is aan datastructuren en algoritmen, moet u zich voorbereiden op de interviewvragen over datastructuren en algoritmen 2018. Hoewel elk interview anders is en de reikwijdte van een taak ook anders, kunnen we u helpen met de beste datastructuren en algoritmen Interviewvragen en antwoorden, die u zullen helpen de sprong te wagen en u succesvol te maken in uw interview.

Deze topvragen zijn als volgt verdeeld in twee delen:

Deel 1 - Interviewvragen over datastructuren en algoritmen (basis)

Dit eerste deel behandelt de basisvragen en antwoorden over datastructuren en algoritmen.

1. Wat is een gegevensstructuur?

Antwoord:
Een gegevensstructuur is een manier om gegevens op een structurele en systematische manier te definiëren, op te slaan en op te halen. Een gegevensstructuur kan een ander type gegevensitem bevatten. Verschillende soorten gegevensstructuren zijn geschikt voor verschillende soorten toepassingen, en sommige zijn zeer gespecialiseerd voor specifieke taken.

2. Wat zijn de verschillende datastructuren beschikbaar?

Antwoord:
De beschikbaarheid van gegevensstructuren kan verschillen per programmeertaal. Algemeen beschikbare gegevensstructuren zijn de lijst, arrays, stack, wachtrijen, grafiek, boom enz.

3. Wat is een algoritme?

Antwoord:
Een algoritme is een stapsgewijze procedure, die een reeks instructies definieert die in een bepaalde volgorde moeten worden uitgevoerd om de gewenste uitvoer te krijgen. Een computerprogramma kan worden gezien als een uitgebreid algoritme. In de wiskunde en informatica betekent een algoritme meestal een kleine procedure die een terugkerend probleem oplost.

Laten we naar de volgende interviewvragen over datastructuren en algoritmen gaan

4. Onderscheid de bestandsstructuur van de opslagstructuur.

Antwoord:
Het belangrijkste verschil is eigenlijk het geheugengebied dat wordt gebruikt. Wanneer het gaat om de structuur die zich in het hoofdgeheugen van het computersysteem bevindt, wordt dit de opslagstructuur genoemd. Wanneer we te maken hebben met een hulpstructuur, noemen we dit bestandsstructuren.

5. Wat is een gekoppelde lijst?

Antwoord:
Een gekoppelde lijst is een lijst met gegevensitems die zijn verbonden met koppelingen, bijvoorbeeld verwijzingen of verwijzingen. De meeste moderne programmeertaal op hoog niveau biedt niet de mogelijkheid om rechtstreeks toegang te krijgen tot een geheugenlocatie. Daarom wordt de gekoppelde lijst hierin niet ondersteund of beschikbaar in de vorm van ingebouwde functies. In de informatica is een gekoppelde lijst een lineaire verzameling gegevenselementen, waarin hun fysieke plaatsing in het geheugen geen lineaire volgorde geeft. In plaats daarvan wijst elk element naar het volgende. Het is een gegevensstructuur die bestaat uit een groep knooppunten die samen een reeks vertegenwoordigen.

6. Wat is de stapel?

Antwoord:
In de gegevensstructuur is een stapel een abstract gegevenstype (ADT) dat wordt gebruikt om waarden op te slaan en op te halen in de methode Last In First Out. De stapel is het geheugen dat is gereserveerd als krasruimte voor een uitvoeringsdraad.

7. Waarom gebruiken we stapels?

Antwoord:
Een stapelstructuur beperkt de manier waarop elementen worden ingevoegd, opgehaald en verwijderd: het meest recent ingevoegde element in de stapel is het enige dat kan worden opgehaald of verwijderd. Stacks volgen de LIFO-methode en het toevoegen en ophalen van een gegevensitem duurt slechts Ο (n) tijd. Stacks worden gebruikt waar we toegang moeten hebben tot gegevens in de omgekeerde volgorde van aankomst. Stacks worden vaak gebruikt in recursieve functie-aanroepen, expression parsing, diepte-eerst doorkruisen van grafieken, etc.

Deel 2 - Interviewvragen over datastructuren en algoritmen (geavanceerd)

Laten we nu eens kijken naar de geavanceerde vragen over datastructuren en algoritmen.

8. Welke bewerkingen kunnen op stapels worden uitgevoerd?

Antwoord:
De onderstaande bewerkingen kunnen op een stapel worden uitgevoerd -
• push () - voegt een item toe aan stapel - Invoegen
• pop () - verwijdert het bovenste stapelitem -Verwijdering
• peek () - geeft een waarde van een topitem zonder het te verwijderen -Traversal
• isempty () - controleert of een stapel leeg is –Null check
• isfull () - controleert of een stapel vol is - Geen ruimte

9. Wat is een wachtrij in de gegevensstructuur?

Antwoord:
De wachtrij is een abstracte gegevensstructuur, enigszins vergelijkbaar met stapel. In tegenstelling tot stapel wordt aan beide uiteinden een wachtrij geopend. Het ene uiteinde wordt altijd gebruikt om gegevens in te voegen (enqueue) en het andere uiteinde wordt gebruikt om gegevens te verwijderen (dequeue). Wachtrij volgt First-In-First-Out-methode, dat wil zeggen dat eerst het eerst opgeslagen gegevensitem wordt geopend.

10. Wat is lineair zoeken?

Antwoord:
Lineair zoeken probeert een item in een opeenvolgend gerangschikt gegevenstype te vinden. Deze opeenvolgend gerangschikte gegevensitems bekend als array of lijst, zijn toegankelijk in oplopende geheugenlocatie. Lineaire zoekopdracht vergelijkt het verwachte gegevensitem met elk van de gegevensitems in lijst of array. De gemiddelde case-time complexiteit van de lineaire zoekopdracht is Ο (n) en de worst-case complexiteit is Ο (n2). Gegevens in doelmatrices / lijsten hoeven niet te worden gesorteerd.

Laten we naar de volgende interviewvragen over datastructuren en algoritmen gaan

11. Wat is een binaire zoekopdracht?

Antwoord:
Een binaire zoekopdracht werkt alleen op gesorteerde lijsten of arrays. Deze zoekopdracht selecteert het midden dat de hele lijst in twee delen splitst. Eerst wordt het midden vergeleken.
Deze zoekopdracht vergelijkt eerst de doelwaarde met het midden van de lijst. Als het niet wordt gevonden, neemt het een beslissing over het weer. In de informatica is binair zoeken, ook bekend als half-interval zoeken, logaritmisch zoeken, of binair afsnijden, een zoekalgoritme dat de positie van een doelwaarde binnen een gesorteerde array vindt.

12. Wat is een grafiek?

Antwoord:
Een grafiek is een grafische weergave van een set objecten waarbij sommige paren objecten met elkaar verbonden zijn. De onderling verbonden objecten worden weergegeven door punten die hoekpunten worden genoemd en de koppelingen die de hoekpunten verbinden, worden randen genoemd. Een grafiekgegevensstructuur bestaat uit een eindige (en mogelijk muteerbare) set hoekpunten of knooppunten of punten, samen met een set niet-geordende paren van deze hoekpunten voor een niet-gerichte grafiek of een set geordende paren voor een gerichte grafiek.

13. Wat is een recursieve functie?

Antwoord:
Een recursieve functie is een functie die zichzelf direct aanroept of een functie aanroept die deze op zijn beurt weer aanroept. Elke recursieve functie volgt de recursieve eigenschappen - basiscriteria waarbij functies zichzelf niet meer noemen en progressieve aanpak waarbij de functies proberen te voldoen aan de basiscriteria in elke iteratie. Een belangrijke toepassing van recursie in de informatica is het definiëren van dynamische datastructuren zoals Lists en Trees.

14. Wat is een toren van Hanoi?

Antwoord:
Tower of Hanoi, is een wiskundige puzzel die bestaat uit drie torens (pinnen) en meer dan één ring. Alle ringen zijn van verschillende grootte en op elkaar gestapeld, waarbij de grote schijf zich altijd onder de kleine schijf bevindt. Het doel is om de toren van een schijf van de ene pin naar de andere te verplaatsen, zonder de eigenschappen ervan te breken. Het doel van dit spel is om de schijven één voor één van de eerste pen naar de laatste pen te verplaatsen. En er is slechts EEN voorwaarde, we kunnen geen grotere schijf op een kleinere schijf plaatsen.

15. Geef enkele voorbeelden van hebzuchtige algoritmen.

Antwoord:
De onderstaande problemen vinden hun oplossing met behulp van een hebzuchtige algoritme-aanpak -
• Probleem met reizende verkoper
• Prim's minimale spanning tree-algoritme
• Minimaal Spanning Tree-algoritme van Kruskal
• Minimal Spanning Tree Algorithm van Dijkstra
• Grafiek - Kaartkleuring
• Grafiek - Vertex Cover
• Knapzakprobleem
• Probleem met taakplanning

Aanbevolen artikel

Dit is een leidraad geweest voor de lijst met interviewvragen en antwoorden op datastructuren en algoritmen, zodat de kandidaat deze interviewvragen voor datastructuren en algoritmen gemakkelijk kan opnemen. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. 10 beste gegevensstructuren en algoritmen C ++ | Basics
  2. Beste keuze programmeertalen voor het leren van algoritmen
  3. SSRS-interviewvragen - Top 10-vragen kraken
  4. Interviewvragen netwerkbeveiliging - Meest gevraagd en gevraagd