Najboljših 8 vprašanj in odgovorov o algoritmu in posodobitev (Posodobljeno za 2019)

Kazalo:

Anonim

Uvod v Algoritem Intervju Vprašanja in odgovori

Priprava na razgovor za službo v Algoritmu. Prepričan sem, da želite vedeti najpogostejša vprašanja o intervjuju z algoritmom 2019 in odgovori, ki vam bodo pomagali z lahkoto razbiti intervju z algoritmom. Spodaj je seznam najboljših vprašanj in odgovorov o intervjuju z algoritmom.

Spodaj je seznam vprašanj in odgovorov z algoritmom za algoritem 2019, ki jih lahko med intervjujem zastavite za bolj sveže in izkušnje.

1.Napišite algoritem za preusmeritev niza. Na primer, če je moj niz "vahbunA", bo moj rezultat "Anubhav".

Odgovor:
1. korak: Začnite
2. korak: Vzemite dve spremenljivki I in j.
3. korak: j je postavljen na zadnji znak (Tehnično lahko to storimo po dolžini (niz) -1)
4. korak: Postavim se na prvi znak (to lahko storimo z nizom (0))
Korak 5: String (i) je izmenjen String (j) 6. korak: Povišanje I za 1
7. korak: povečanje J za 1
Korak 8: Če 'I'> 'j' pojdite na 3. korak
9. korak: Ustavite se

2. Napišite algoritem za vstavljanje vozlišča v povezan seznam, če predpostavimo, da je povezan seznam že razvrščen.

Odgovor:
1. primer: Če je povezan seznam prazen, vozlišče naredite kot glavo in ga vrnite.
Koda: New_node-> Next = glava;
head = Novo_node
2. primer: Vstavite vozlišče na sredino
Koda: Medtem ko (P! = Insert_position)
(
P = p-> Naprej;
)
Store_next = P-> Naprej;
P-> Naprej = Novo_Node;
New_Node-> Next = Store_next;
3. primer: Na koncu vstavite vozlišče
Koda: Medtem ko (P-> naslednji! = Null)
(
P = P-> Naprej;
)
P-> Naprej = Novo_Node;
New_Node-> Next = null;

3. Napišite algoritem za razvrščanje mehurčkov.

Odgovor: Algoritem razvrščanja mehurčkov bomo implementirali skozi jezik C.
1. korak: ponovite korak 2 in korak 3 za I = 1 do 10
2. korak: nastavite j = 1
3. korak: ponovite, medtem ko je j <= n (kjer je n število elementov v nizu)
(Če a (i) <a (j) Nato izmenjajte a (i) in a (j) (Konec, če))
Nastavite j = j + 1
(Konec notranje zanke) (Konec zunanje zanke 1. koraka) 4. korak: Izhod

4. Napišite algoritem za Heapsort.

Odgovor:
1. korak: Ker drevo izpolnjuje lastnost max-Heap, je največji element shranjen v korenskem vozlišču.
2. korak: Odstranite koreninski element in na konec matrike (n-ti položaj) postavite zadnjo postavko drevesa (kopico) na prosto mesto.
Korak 3: Zmanjšajte velikost kopice za 1 in ponovno koreninski element, tako da imamo najvišji element v korenu.
4. korak: postopek se ponovi, dokler niso razvrščeni vsi elementi seznama.

5. Napišite algoritem za iskanje Fibonacije.

Odgovor:
1. korak: A je sortirano_int_array;
2. korak: vzemite eno spremenljivko c
3. korak: Fib2 = 1, Fib1 = 1 in fib = 2
4. korak: medtem ko je fib <n do (kjer je n število elementov na seznamu)
5. korak: Dodelite spremenljivko
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Konec medtem
6. korak: dodelite vrednost začasni spremenljivki I = 0, odmik = 0;
7. korak: Fib> 1 naredite
I = min (odmik + Fib2, n)
Če je c <A (i), potem
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Drugače je, če je potem c> A (i)
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Pobota = I;
Ostalo
Vrnitev resnična
Konec, če
Konec medtem
Vrnite napačno

6.Napišite algoritem push in pop delovanja.

Odgovor: Za potisno delovanje
Dodajanje postopka (element, sklad, N, vrh)
(Vstavite 'Item' v 'sklad' največje velikosti 'n', zgoraj je število elementov, ki so trenutno v 'Stack')
1. korak: Preverite čep je prepoln?
Če (na vrh> = N)
Skladba je preplavljena
Izhod
2. korak: Če se sklad ne prelije, povečajte zanko
Na vrh = Na vrh + 1
3. korak: Vstavite element
Zlaganje (na vrhu) = kos
4. korak: Izhod
Za delovanje POP
1. korak: Preveri, da je skladen pod pretokom, pomeni prazen
Če (vrh <= 0)
Skladba je prazna
Izhod
2. korak: Če sklad ni pokrit, nato element izbrišite
Item = stack (top) Korak 3: decrementing zgornje vrednosti
Na vrh = Na vrh - 1
4. korak: Izhod

7.Napišite algoritem za operacijo vstavljanja in brisanja v čakalni vrsti.

Odgovor: Za postopek vstavljanja
Dodajte postopek (čakalna vrsta, F, R, N, točka)
(Ta element bo v 'čakalni vrsti' vstavljen za 'R' (redko), kjer je 'n' velikost matrike.)
1. korak: Preverite, da je čakalna vrsta prepolna, da je čakalna vrsta napolnjena
Če (R> = N)
Čakalna vrsta je polna
Izhod
Korak 2: Če čakalna vrsta ni preplavljena, nato povečajte zanko
R = R + 1
3. korak: V čakalno vrsto vstavite element
Čakalna vrsta (R) = element
4. korak: Nastavitev kazalca 'F' (spredaj)
Če (F = 0)
F = 1
Izhod
Za operacijo brisanja v čakalni vrsti
Izbris postopka (čakalna vrsta, F, R, točka)
(Izbrišite 'element' iz 'skladovnice', 'F' je kazalec spredaj in 'R' je redek končni kazalec.
1. korak: Preverite, ali je čakalna vrsta pod prazno, prazna je
Če (R <= 0)
Čakalna vrsta je prazna
Izhod
2. korak: Brisanje elementa iz čakalne vrste
Item = čakalna vrsta (F) Korak 3: Povečanje vrednosti F
F = F + 1
4. korak: Preverjanje prazne čakalne vrste
Če (F> R)
Potem je F = R = 0
Izhod

8. Napišite algoritem za iskanje najmanjše globine binarnega drevesa.

Odgovor: Naj bo "vozlišče" kazalec na korensko vozlišče podreje.
1. korak: Če je vozlišče enako Null, vrnite 0
Korak 2: Če je vozlišče listno vozlišče, se vrne 1.
3. korak: rekurzivno poiščite najmanjšo globino levega in desnega pod drevesa, naj bo levi Min Globina in Min min globina.
4. korak: Da dobimo minimalno višino drevesa, ukoreninjeno na vozlišču, bomo vzeli najmanj levo min globino in desno min globino in 1 za korensko vozlišče.
Program:
Postopek minDepth (vozlišče)
1. korak: če (root = null)
Vrnite 0
2. korak: če (root -> Left = Null and root -> desno = Null)
Vrnitev 1
3. korak: če (root -> left ni ničelno)
Vrni se minDepth (koren -> desno) + 1;
4. korak: Če (root -> Right ni nič)
Vrni se minDepth (koren -> levo) + 1;
5. korak: vrnite min (minDepth (koren -> levo), minDepth (koren -> desno)) + 1

Priporočeni članki

To je bilo izčrpno vodilo za vprašanja o anketah in odgovore o algoritmu, tako da lahko kandidat brez težav razreši ta vprašanja o intervjuju z algoritmom. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Vprašanja in odgovori za strojno učenje
  2. Koristni vodnik za vprašanja o intervjuju z Big Data
  3. Pomembna vprašanja o intervjuju z elastičnimi raziskavami
  4. Uporabna vprašanja in odgovori za intervju z Apache PIG