Topp 8 frågor om algoritmintervju och svar (Uppdaterad för 2019)

Innehållsförteckning:

Anonim

Introduktion till algoritmintervjufrågor och svar

Förbereder för en jobbintervju i algoritm. Jag är säker på att du vill veta de vanligaste frågorna och svaren om algoritmintervjuet från 2019 som hjälper dig att knäcka algoritmintervjuet med lätthet. Nedan visas listan över de bästa intervjufrågorna och svaren för algoritmer till din undsättning.

Nedan finns en lista över 2019-intervjufrågor och svar, som kan ställas under en intervju för fräschare och erfarenhet.

1. Skriv en algoritm för att vända en sträng. Till exempel, om min sträng är "vahbunA" kommer mitt resultat att vara "Anubhav".

Svar:
Steg 1: Starta
Steg 2: Ta två variabla I och j.
Steg 3: j är placerad på det sista tecknet (tekniskt kan vi göra detta efter längd (sträng) -1)
Steg 4: Jag är placerad på det första tecknet (vi kan göra det med sträng (0))
Steg 5: Sträng (i) byts ut Sträng (j) Steg 6: Ökning I med 1
Steg 7: Öka J med 1
Steg 8: Om 'I'> 'j' går du till steg 3
Steg 9: Stopp

2.Skriv en algoritm för att infoga en nod i länkad lista förutsatt att den länkade listan redan är sorterad.

Svar:
Fall 1: Om länkad lista är tom gör du noden som huvud och returnerar den.
Kod: New_node-> Next = head;
head = Ny_nod
Fall 2: Sätt in noden i mitten
Kod: Medan (P! = Insert_position)
(
P = p-> Nästa;
)
Store_next = P-> Nästa;
P-> Nästa = New_Node;
New_Node-> Next = Store_next;
Fall 3: Sätt i en nod i slutet
Kod: Medan (P-> nästa! = Null)
(
P = P-> Nästa;
)
P-> Nästa = New_Node;
New_Node-> Next = null;

3.Skriv en algoritm för bubbelsortering.

Svar: Vi kommer att implementera bubblasorteringsalgoritmen via C-språket.
Steg 1: Upprepa steg 2 och steg 3 för I = 1 till 10
Steg 2: Ställ in j = 1
Steg 3: Upprepa medan j <= n (Där n är antalet element i matrisen)
(Om a (i) <a (j) Byt sedan ut a (i) och a (j) (End of if))
Ställ in j = j + 1
(Slut på innerslinga) (Slut på steg 1 yttre slinga) Steg 4: Avsluta

4.Skriv en algoritm för Heapsort.

Svar:
Steg 1: Eftersom trädet uppfyller max-Heap-egenskapen, lagras det största objektet i rotnoden.
Steg 2: Ta bort rotelementet och lägg i slutet av matrisen (n: e positionen) lägg den sista artikeln i trädet (högen) på den lediga platsen.
Steg 3: Minska storleken på högen med 1 och höja rotelementet igen så att vi har det högsta elementet vid roten.
Steg 4: Processen upprepas tills alla objekt i listan är sorterade.

5.Skriv en algoritm för Fibonacci-sökning.

Svar:
Steg 1: A är sorterad_int_array;
Steg 2: ta en variabel c
Steg 3: Fib2 = 1, Fib1 = 1 och fib = 2
Steg 4: Medan fib <n do (där n är antalet element i listan)
Steg 5: Tilldela variabeln
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Avsluta medan
Steg 6: Tilldela värdet till temporär variabel I = 0, offset = 0;
Steg 7: Medan Fib> 1 gör
I = min (förskjutning + Fib2, n)
Om c <A (i) då
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Annars om c> A (i) då
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
Annan
Återvänd sant
Sluta om
Avsluta medan
Returnera falskt

6.Skriv en algoritm för push och pop-operation i stacken.

Svar: För Push-funktion
Tillvägagångssätt Lägg till (artikel, stack, N, topp)
(Sätt in 'Item' i 'stack' med maximal storlek 'n', överst är antalet element som för närvarande finns i 'Stack')
Steg 1: Kontrollera att Stack är överflödigt?
If (Top> = N)
Bunten är överflödig
Utgång
Steg 2: Om stapeln inte flyter över, ökar du öglan
Top = Top + 1
Steg 3: Sätt i elementet
Stack (Top) = Objekt
Steg 4: Avsluta
För POP-drift
Steg 1: Kontrollera att Stack är underflöde betyder tom
If (Top <= 0)
Bunten är tom
Utgång
Steg 2: Om stacken inte är underflödet, ta bort elementet
Objekt = stack (överst) Steg 3: deprementering av toppvärdet
Top = Top - 1
Steg 4: Avsluta

7.Skriv en algoritm för att infoga och radera operation i kö.

Svar: För insättning
Tillägg till procedur (kö, F, R, N, artikel)
(Detta kommer att infoga 'objekt' i 'kön' efter 'R' (sällsynt) där 'n' är storleken på matrisen.)
Steg 1: Kontrollera att kö är överflödig betyder att kö är full
Om (R> = N)
Kön är full
Utgång
Steg 2: Om köen inte är överflödigt, ökar du öglan
R = R + 1
Steg 3: Sätt in ett element i kön
Kö (R) = artikel
Steg 4: Ställa in pekaren 'F' (fram)
Om (F = 0)
F = 1
Utgång
För radering i kö
Proceduret tas bort (kö, F, R, objekt)
(Radera 'objekt' från 'stacken', 'F' är pekaren i front-end och 'R' är den sällsynta slutpekaren.
Steg 1: Kontrollera att kö är underflöde betyder tom
Om (R <= 0)
Kön är tom
Utgång
Steg 2: Radera ett element från kön
Objekt = kö (F) Steg 3: Öka värdet på F
F = F + 1
Steg 4: Kontrollera den tomma kön
Om (F> R)
Sedan är F = R = 0
Utgång

8.Skriv en algoritm för att hitta det minsta djupet för ett binärt träd.

Svar: Låt "nod" vara pekaren till rotnoden för en undertråd.
Steg 1: Om noden är lika med Null, returnera 0
Steg 2: Om noden är en bladnodåtergång 1.
Steg 3: Hitta rekursivt det minsta djupet på vänster och höger underträd, låt det vara kvar Min djup respektive höger min djup.
Steg 4: För att få den minsta höjden på trädet som är rotat vid noden, tar vi ett minimum av vänster min djup och höger min djup och 1 för rotnoden.
Program:
Procedur minDepth (Node)
Steg 1: if (root = null)
Retur 0
Steg 2: if (root -> Left = Null and root -> right = Null)
Återvänd 1
Steg 3: om (root -> vänster inte är noll)
Returnera minDepth (root -> höger) + 1;
Steg 4: Om (root -> Right is not null)
Returnera minDepth (root -> left) + 1;
Steg 5: returnera min (minDepth (root -> left), minDepth (root -> höger)) + 1

Rekommenderade artiklar

Detta har varit en omfattande guide till Algoritmintervjufrågor och svar så att kandidaten lätt kan slå ned dessa algoritmintervjufrågor. Du kan också titta på följande artiklar för att lära dig mer -

  1. Maskinlärande intervjufrågor och svar
  2. Nyttig guide för Big Data intervjufrågor
  3. Viktiga Elasticsearch-intervjufrågor
  4. Användbara Apache PIG-intervjufrågor och svar