8 najdôležitejších otázok a odpovedí na otázky týkajúce sa rozhovorov s algoritmom (aktualizované na rok 2019)

Obsah:

Anonim

Úvod do otázok a odpovedí na rozhovor s algoritmom

Príprava na pracovný pohovor v algoritme. Som si istý, že chcete poznať najbežnejšie otázky a odpovede týkajúce sa rozhovoru o algoritme 2019, ktoré vám pomôžu ľahko rozlúštiť rozhovor s algoritmami. Nižšie je uvedený zoznam najlepších otázok a odpovedí na otázky týkajúce sa rozhovoru pri vašej záchrane.

Nižšie je uvedený zoznam otázok a odpovedí na rozhovor s algoritmom 2019, ktoré sa môžu počas rozhovoru opýtať na čerstvejšie a skúsenejšie otázky.

1.Napíšte algoritmus na zmenu reťazca. Napríklad, ak je môj reťazec „vahbunA“, môj výsledok bude „Anubhav“.

odpoveď:
Krok 1: Štart
Krok 2: Vezmite dve premenné I a j.
Krok 3: j sa umiestni na posledný znak (technicky to môžeme urobiť podľa dĺžky (reťazec) -1)
Krok 4: Ja sa umiestni na prvý znak (môžeme to urobiť pomocou reťazca (0))
Krok 5: Reťazec (i) je zamenený reťazec (j) Krok 6: Prírastok I o 1
Krok 7: Prírastok J o 1
Krok 8: Ak „I“> „j“, pokračujte krokom 3
Krok 9: Zastavte

2.Napíšte algoritmus na vloženie uzla do prepojeného zoznamu za predpokladu, že prepojený zoznam je už zoradený.

odpoveď:
Prípad 1: Ak je prepojený zoznam prázdny, urobte uzol ako hlavu a vráťte ho.
Kód: New_node-> Next = head;
head = New_node
Prípad 2: Vložte uzol do stredu
Kód: Zatiaľ čo (P! = Insert_position)
(
P = p-> Ďalej;
)
Store_next = P-> Ďalej;
P-> Ďalší = New_Node;
New_Node-> Next = Store_next;
Prípad 3: Na koniec vložte uzol
Kód: Zatiaľ čo (P-> nasledujúci! = Null)
(
P = P-> Ďalej;
)
P-> Ďalší = New_Node;
New_Node-> Next = null;

3.Napíšte algoritmus na triedenie bublín.

Odpoveď: Implementujeme algoritmus triedenia bublín pomocou jazyka C.
Krok 1: Opakujte krok 2 a krok 3 pre I = 1 až 10
Krok 2: Nastavte j = 1
Krok 3: Opakujte, zatiaľ čo j <= n (kde n je počet prvkov v poli)
(Ak a (i) <a (j), potom si zameňte a (i) a a (j) (Koniec if))
Sada j = j + 1
(Koniec vnútornej slučky) (Vonkajšia slučka na konci kroku 1) Krok 4: Ukončenie

4.Napíšte algoritmus pre Heapsort.

odpoveď:
Krok 1: Pretože strom spĺňa vlastnosť max-Heap, najväčšia položka sa uloží v koreňovom uzle.
Krok 2: Odstráňte koreňový prvok a umiestnite ho na koniec poľa (n-tá pozícia). Položte poslednú položku stromu (haldu) na voľné miesto.
Krok 3: Znížte veľkosť haldy o 1 a znova zložte koreňový prvok tak, aby sme mali najvyšší prvok v koreňovom adresári.
Krok 4: Proces sa opakuje, kým nie sú všetky položky v zozname zoradené.

5.Napíšte algoritmus pre vyhľadávanie podľa Fibonacciho.

odpoveď:
Krok 1: A je sort_int_array;
Krok 2: vezmite jednu premennú c
Krok 3: Fib2 = 1, Fib1 = 1 a fib = 2
Krok 4: Zatiaľ čo vlákno <n do (kde n je počet prvkov v zozname)
Krok 5: Priradenie premennej
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Končiť kým
Krok 6: Priraďte hodnotu dočasnej premennej I = 0, offset = 0;
Krok 7: Kým Fib> 1 áno
I = min (offset + Fib2, n)
Ak je c <A (i), potom
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Inak ak c> A (i), potom
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Ofset = I;
inak
Návrat pravda
Koniec Ak
Končiť kým
Návrat nepravdivý

6.Napíšte algoritmus push and pop operácie v zásobníku.

Odpoveď: Pre operáciu Push
Pridanie postupu (položka, balík, N, hore)
(Vložte položku do položky „stack“ s maximálnou veľkosťou „n“, horný počet prvkov v stĺpci „stack“).
Krok 1: Skontrolujte, či je zásobník pretečený?
Ak (hore> = N)
Zásobník je pretečený
Východ
Krok 2: Ak zásobník neprepúšťa, zväčšite slučku
Top = Top + 1
Krok 3: Vložte prvok
Zásobník (hore) = položka
Krok 4: Ukončenie
Pre prevádzku POP
Krok 1: Skontrolujte, či je zásobník podtokom znamená prázdny
Ak (hore <= 0)
Zásobník je prázdny
Východ
Krok 2: Ak zásobník nie je podtečený, odstráňte prvok
Item = stack (top) Krok 3: dekrementácia hornej hodnoty
Top = Top - 1
Krok 4: Ukončenie

7.Napíšte algoritmus pre operáciu vloženia a odstránenia vo fronte.

Odpoveď: Na vloženie
Pridanie postupu (front, F, R, N, položka)
(Toto vloží „položku“ do „frontu“ za „R“ (zriedkavo), kde „n“ je veľkosť poľa.)
Krok 1: Skontrolujte, či je front zaplnený, čo znamená, že front je plný
Ak (R> = N)
Fronta je plná
Východ
Krok 2: Ak front nie je preplnený, zväčšite slučku
R = R + 1
Krok 3: Vložte prvok do frontu
Fronta (R) = položka
Krok 4: Nastavenie ukazovateľa „F“ (predný)
Ak (F = 0)
F = 1
Východ
Pre operáciu odstránenia vo fronte
Odstránenie postupu (front, F, R, položka)
(Vymažte „položku“ zo „zásobníka“, „F“ je ukazovateľ front-end a „R“ je zriedkavý koncový ukazovateľ.
Krok 1: Skontrolujte, či je front podtokov je prázdny
Ak (R <= 0)
Fronta je prázdna
Východ
Krok 2: Odstránenie prvku z frontu
Položka = front (F) Krok 3: Zvýšenie hodnoty F
F = F + 1
Krok 4: Kontrola prázdneho frontu
Ak (F> R)
Potom F = R = 0
Východ

8.Napíšte algoritmus, aby ste našli minimálnu hĺbku binárneho stromu.

Odpoveď: Nech je „uzol“ ukazovateľ na koreňový uzol podstromu.
Krok 1: Ak sa uzol rovná Null, návrat 0
Krok 2: Ak je uzlom listový uzol, návrat 1.
Krok 3: Rekurzívne nájdite minimálnu hĺbku ľavého a pravého podstromu, nechajte hĺbku min. Hĺbku a pravú min. Hĺbku.
Krok 4: Aby sme dosiahli minimálnu výšku stromu zakoreneného v uzle, vezmeme minimum minimálnej hĺbky vľavo a hĺbky v pravom dolnom rohu a 1 v koreňovom uzle.
Program:
Procedúra minDepth (Uzol)
Krok 1: ak (root = null)
Návrat 0
Krok 2: ak (root -> Doľava = Null a root -> vpravo = Null)
Návrat 1
Krok 3: ak (root -> left nie je null)
Návrat minDepth (root -> vpravo) + 1;
Krok 4: Ak (root -> Right nie je null)
Návrat minDepth (root -> doľava) + 1;
Krok 5: návrat min (minDepth (root -> doľava), minDepth (root -> right)) + 1

Odporúčané články

Toto bol komplexný sprievodca k otázkam a odpovediam na otázky týkajúce sa rozhovorov s algoritmami, aby kandidát mohol ľahko vykonať zákroky na otázky týkajúce sa rozhovorov s algoritmami. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Otázky a odpovede týkajúce sa rozhovoru o strojovom učení
  2. Užitočný sprievodca k otázkam rozhovoru s veľkými dátami
  3. Dôležité otázky týkajúce sa rozhovorov s Elasticsearch
  4. Užitočné otázky a odpovede na rozhovor spoločnosti Apache PIG