Introduktion til spørgsmål og svar til algoritmeintervju
Forberedelse til et jobsamtale i algoritme. Jeg er sikker på, at du vil vide de mest almindelige spørgsmål om algoritmeinterview fra 2019 og svar, der vil hjælpe dig med at knække algoritmeintervjuet let. Nedenfor er listen over de vigtigste spørgsmål om algoritmeintervju og svar til din redning.
Nedenfor er listen over 2019 Algoritme Interview Spørgsmål og svar, som kan stilles under et interview til friskere og erfaring.
1. Skriv en algoritme for at vende en streng. For eksempel, hvis min streng er "vahbunA", vil mit resultat være "Anubhav".
Svar:
Trin 1: Start
Trin 2: Tag to variabler I og j.
Trin 3: j er placeret på det sidste tegn (teknisk kan vi gøre dette efter længde (streng) -1)
Trin 4: Jeg er placeret på det første tegn (vi kan gøre det ved streng (0))
Trin 5: Streng (i) udskiftes Streng (j) Trin 6: Forøgelse I med 1
Trin 7: Forøg J med 1
Trin 8: Hvis 'I'> 'j', skal du gå til trin 3
Trin 9: Stop
2. Skriv en algoritme for at indsætte en node i den tilknyttede liste, forudsat at den tilknyttede liste allerede er sorteret.
Svar:
Tilfælde 1: Hvis den tilknyttede liste er tom, skal du oprette noden som hoved og returnere den.
Kode: New_node-> Next = head;
head = Ny_node
Tilfælde 2: Indsæt knude i midten
Kode: Mens (P! = Insert_position)
(
P = p-> Næste;
)
Store_next = P-> Næste;
P-> Næste = Ny_Node;
New_Node-> Next = Store_next;
Tilfælde 3: Indsæt en knude i slutningen
Kode: Mens (P-> næste! = Null)
(
P = P-> Næste;
)
P-> Næste = Ny_Node;
New_Node-> Next = null;
3. Skriv en algoritme til boble sortering.
Svar: Vi vil implementere bobelsorteringsalgoritmen gennem C-sprog.
Trin 1: Gentag trin 2 og trin 3 for I = 1 til 10
Trin 2: Indstil j = 1
Trin 3: Gentag, mens j <= n (Hvor n er antallet af elementer i matrixen)
(Hvis a (i) <a (j) Skift derefter a (i) og a (j) (slut på if))
Indstil j = j + 1
(Ende på indre sløjfe) (Ende på trin 1 ydre sløjfe) Trin 4: Afslut
4. Skriv en algoritme til Heapsort.
Svar:
Trin 1: Da træet opfylder max-Heap-egenskab, gemmes det største objekt ved rodnoden.
Trin 2: Fjern rodelementet, og sæt i slutningen af arrayet (nth position), sæt det sidste element af træet (bunken) på det ledige sted.
Trin 3: Reducer størrelsen på dyngen med 1 og dyng rodelementet igen, så vi har det højeste element ved roden.
Trin 4: Processen gentages, indtil alle elementerne på listen er sorteret.
5. Skriv en algoritme til Fibonacci-søgning.
Svar:
Trin 1: A er sorteret_int_array;
Trin 2: tage en variabel c
Trin 3: Fib2 = 1, Fib1 = 1 og fib = 2
Trin 4: Mens fib <n do (hvor n er antallet af elementer på listen)
Trin 5: Tildel variablen
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Slutt mens
Trin 6: Tildel værdien til den midlertidige variabel I = 0, forskydning = 0;
Trin 7: Mens Fib> 1 gør
I = min (offset + Fib2, n)
Hvis c <A (i) så
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Ellers hvis c> A (i) derefter
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
Andet
Returner sandt
Afslut Hvis
Slutt mens
Returner falsk
6. Skriv en algoritme om push og pop-operation i stakken.
Svar: Til push-drift
Procedure Tilføj (vare, stak, N, top)
(Indsæt 'Item' i 'stack' med maksimal størrelse 'n', øverst er antallet af elementer, der i øjeblikket er i 'Stack')
Trin 1: Kontroller, at stakken er overløbet?
Hvis (Top> = N)
Stakken er overløbet
Afslut
Trin 2: Hvis stakken ikke flyder over, skal du øge løkken
Top = Top + 1
Trin 3: Indsæt elementet
Stabel (øverst) = Element
Trin 4: Afslut
Til POP-drift
Trin 1: Kontroller, at stakken er understrømning betyder tom
Hvis (Top <= 0)
Stakken er tom
Afslut
Trin 2: Hvis stakken ikke er undertilstrømning, skal du slette elementet
Element = stak (top) Trin 3: Dekrementering af topværdien
Top = Top - 1
Trin 4: Afslut
7. Skriv en algoritme til indsættelse og sletning i køen.
Svar: Til indsættelse
Procedure tilføjelse (kø, F, R, N, vare)
(Dette vil indsætte 'element' i 'køen' efter 'R' (sjældent), hvor 'n' er størrelsen på matrixen.)
Trin 1: Kontroller, at køen er overløbet, betyder, at køen er fuld
Hvis (R> = N)
Køen er fuld
Afslut
Trin 2: Hvis køen ikke er oversvømmet, skal du øge løkken
R = R + 1
Trin 3: Indsæt et element i køen
Kø (R) = vare
Trin 4: Indstilling af 'F' (forreste) markør
Hvis (F = 0)
F = 1
Afslut
Til sletning i kø
Procedure-sletning (kø, F, R, vare)
(Slet 'emne' fra 'stakken', 'F' er den forreste markør, og 'R' er den sjældne slutmarkør.
Trin 1: Kontroller, at køen er understrøm, betyder tom
Hvis (R <= 0)
Køen er tom
Afslut
Trin 2: Sletning af et element fra køen
Element = kø (F) Trin 3: Forøgelse af værdien af F
F = F + 1
Trin 4: Kontroller den tomme kø
Hvis (F> R)
Derefter F = R = 0
Afslut
8. Skriv en algoritme for at finde den minimale dybde af et binært træ.
Svar: Lad “node” være markøren til rodnoden til et undertrin.
Trin 1: Hvis noden er lig med Null, skal du vende tilbage 0
Trin 2: Hvis knuden er en bladknudretur 1.
Trin 3: Find rekursivt den minimale dybde på henholdsvis venstre og højre undertræ, lad det være henholdsvis Min dybde og højre min dybde.
Trin 4: For at få minimumshøjden på træet rodfæstet ved knuden, vil vi tage et minimum af venstre min dybde og højre min dybde og 1 for rodnoden.
Program:
Procedure minDepth (knude)
Trin 1: if (root = null)
Retur 0
Trin 2: hvis (rod -> Venstre = Nul og rod -> højre = Nul)
Retur 1
Trin 3: hvis (root -> venstre er ikke null)
Returner minDepth (root -> højre) + 1;
Trin 4: Hvis (root -> Right er ikke null)
Returner minDepth (root -> left) + 1;
Trin 5: returner min (minDepth (rod -> venstre), minDepth (root -> højre)) + 1
Anbefalede artikler
Dette har været en omfattende guide til Algoritme Interview Spørgsmål og svar, så kandidaten let kan nedbryde disse Algorithm Interview spørgsmål. Du kan også se på de følgende artikler for at lære mere -
- Spørgsmål og svar til maskinlæringssamtale
- Nyttig guide til Big Data-interviewspørgsmål
- Vigtige Elasticsearch-interviewspørgsmål
- Nyttige Apache PIG-interviewspørgsmål og svar