Topp 8 spørsmål om algoritmeintervju og svar (Oppdatert for 2019)

Innholdsfortegnelse:

Anonim

Introduksjon til spørsmål og svar om algoritmeintervju

Forberedelser til et jobbintervju i algoritmen. Jeg er sikker på at du vil vite de vanligste spørsmålene og svarene til algoritmeintervjuet fra 2019 som vil hjelpe deg med å knekke algoritmeintervjuet med letthet. Nedenfor er listen over de beste spørsmålene og svarene til algoritmeintervju til unnsetning.

Nedenfor er listen over algoritmeintervju Spørsmål og svar fra 2019, som kan stilles under et intervju for ferskere og erfaring.

1. Skriv en algoritme for å reversere en streng. For eksempel, hvis strengen min er "vahbunA", vil resultatet være "Anubhav".

Svar:
Trinn 1: Start
Trinn 2: Ta to variabler I og j.
Trinn 3: j er plassert på siste tegn (teknisk kan vi gjøre dette etter lengde (streng) -1)
Trinn 4: Jeg er plassert på første karakter (vi kan gjøre dette med streng (0))
Trinn 5: Streng (i) byttes streng (j) Trinn 6: Økningen I med 1
Trinn 7: Øk J med 1
Trinn 8: Hvis 'I'> 'j', gå til trinn 3
Trinn 9: Stopp

2.Skriv en algoritme for å sette inn en node i lenket liste under forutsetning av at den koblede listen allerede er sortert.

Svar:
Tilfelle 1: Hvis den tilknyttede listen er tom, lag noden som hode og returner den.
Kode: New_node-> Next = head;
head = Ny_node
Sak 2: Sett inn noden i midten
Kode: Mens (P! = Insert_position)
(
P = p-> Neste;
)
Store_next = P-> Neste;
P-> Neste = Ny_Node;
New_Node-> Next = Store_next;
Sak 3: Sett inn en node på slutten
Kode: Mens (P-> neste! = Null)
(
P = P-> Neste;
)
P-> Neste = Ny_Node;
New_Node-> Next = null;

3. Skriv en algoritme for boble sortering.

Svar: Vi skal implementere boblesorteringsalgoritmen gjennom C-språket.
Trinn 1: Gjenta trinn 2 og trinn 3 for I = 1 til 10
Trinn 2: Still j = 1
Trinn 3: Gjenta mens j <= n (Hvor n er antall elementer i matrisen)
(Hvis a (i) <a (j) Bytt deretter a (i) og a (j) (End of if))
Still j = j + 1
(End of inner loop) (End of step 1 ytre loop) Trinn 4: Exit

4. Skriv en algoritme for Heapsort.

Svar:
Trinn 1: Siden treet tilfredsstiller maks-Heap-egenskapen, blir den største gjenstanden lagret ved rotnoden.
Trinn 2: Fjern rotelementet og sett på slutten av matrisen (n.posisjonen) og sett den siste gjenstanden av treet (dyngen) på det ledige stedet.
Trinn 3: Reduser størrelsen på dyngen med 1, og hopp rotelementet igjen slik at vi har det høyeste elementet ved roten.
Trinn 4: Prosessen gjentas til alle elementene i listen er sortert.

5. Skriv en algoritme for Fibonacci-søk.

Svar:
Trinn 1: A er sortert_int_array;
Trinn 2: ta en variabel c
Trinn 3: Fib2 = 1, Fib1 = 1 og fib = 2
Trinn 4: Mens fib <n do (der n er antall elementer i listen)
Trinn 5: Tildel variabelen
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Slutt mens
Trinn 6: Tilordne verdien til den midlertidige variabelen I = 0, forskyvning = 0;
Trinn 7: Mens Fib> 1 gjør
I = min (forskjøvet + Fib2, n)
Hvis c <A (i) da
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Ellers hvis c> A (i) da
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
Ellers
Returner sant
Slutt om
Slutt mens
Returner falsk

6. Skriv en algoritme for push og pop-operasjon i bunken.

Svar: For Push-drift
Prosedyre Legg til (Vare, Stabel, N, Topp)
(Sett inn 'Element' i 'stack' med maksimal størrelse 'n', øverst er antall elementer som for øyeblikket er i 'Stack')
Trinn 1: Kontroller at Stack Stack er overflyt?
Hvis (Topp> = N)
Bunken er overflyt
Exit
Trinn 2: Hvis stabelen ikke flyter over, øker du løkken
Topp = Topp + 1
Trinn 3: Sett inn elementet
Stabel (øverst) = Vare
Trinn 4: Avslutt
For POP-drift
Trinn 1: Kontroller at Stack er underflyt betyr tom
Hvis (Topp <= 0)
Bunken er tom
Exit
Trinn 2: Hvis stakken ikke er under strømmen, sletter du elementet
Element = stabel (øverst) Trinn 3: Dekrementering av toppverdien
Topp = Topp - 1
Trinn 4: Avslutt

7. Skriv en algoritme for å sette inn og slette operasjonen i køen.

Svar: For innsetting
Prosedyretillegg (kø, F, R, N, vare)
(Dette vil sette inn 'element' i 'køen' etter 'R' (sjelden) der 'n' er størrelsen på matrisen.)
Trinn 1: Kontroller at køen er overflyt betyr at køen er full
Hvis (R> = N)
Køen er full
Exit
Trinn 2: Hvis køen ikke er overfylt, øker du løkken
R = R + 1
Trinn 3: Sett inn et element i køen
Kø (R) = vare
Trinn 4: Innstilling av "F" -pekeren
Hvis (F = 0)
F = 1
Exit
For sletting av drift i kø
Prosedyre slette (kø, F, R, vare)
(Slett 'element' fra 'bunken', 'F' er pekeren foran og 'R' er den sjeldne endepekeren.
Trinn 1: Kontroller at køen er underflyt betyr tom
Hvis (R <= 0)
Køen er tom
Exit
Trinn 2: Slette et element fra køen
Element = kø (F) Trinn 3: Øke verdien til F
F = F + 1
Trinn 4: Kontroller den tomme køen
Hvis (F> R)
Da er F = R = 0
Exit

8. Skriv en algoritme for å finne minste dybde på et binært tre.

Svar: La “node” være pekeren til rotnoden til et undertrinn.
Trinn 1: Hvis noden er lik Null, returner 0
Trinn 2: Hvis noden er en bladknute-retur 1.
Trinn 3: Rekursivt, finn minste dybde på henholdsvis venstre og høyre under-tre, la det være henholdsvis Min dybde og høyre min dybde.
Trinn 4: For å få minimumshøyden på treet forankret ved noden, vil vi ta et minimum av venstre min dybde og høyre min dybde og 1 for rotnoden.
Program:
Prosedyre minDepth (Node)
Trinn 1: if (root = null)
Retur 0
Trinn 2: if (root -> Left = Null and root -> right = Null)
Retur 1
Trinn 3: hvis (rot -> venstre er ikke null)
Returner minDepth (root -> right) + 1;
Trinn 4: Hvis (root -> Right er ikke null)
Returner minDepth (root -> left) + 1;
Trinn 5: returner min (minDepth (root -> left), minDepth (root -> right)) + 1

Anbefalte artikler

Dette har vært en omfattende guide til spørsmål og svar om algoritmeintervju, slik at kandidaten enkelt kan slå sammen disse spørsmålene om algoritmeintervju. Du kan også se på følgende artikler for å lære mer -

  1. Spørsmål om svar på maskinlæring og svar
  2. Nyttig guide til spørsmål om Big Data-intervju
  3. Viktige spørsmål om Elasticsearch-intervju
  4. Nyttige Apache PIG-intervjuspørsmål og svar