Introducere în Algoritm Interviu Întrebări și răspunsuri
Pregătirea pentru un interviu de muncă în Algoritm. Sunt sigur că doriți să cunoașteți cele mai frecvente întrebări și răspunsuri la interviu Algoritm din 2019, care vă vor ajuta să spargeți cu ușurință Interviul Algoritmului. Mai jos este lista cu cele mai bune întrebări și răspunsuri la interviu Algoritm la salvarea dvs.
Mai jos este lista întrebărilor și răspunsurilor la interviu Algoritm 2019, care pot fi solicitate în timpul unui interviu pentru o experiență mai proaspătă.
1. Scrieți un algoritm pentru a inversa un șir. De exemplu, dacă șirul meu este „vahbunA”, atunci rezultatul meu va fi „Anubhav”.
Răspuns:
Pasul 1: Start
Pasul 2: Ia două variabile I și j.
Pasul 3: j este poziționat pe ultimul caracter (tehnic putem face acest lucru pe lungime (șir) -1)
Pasul 4: Sunt poziționat pe primul caracter (putem face acest lucru prin șirul (0))
Etapa 5: Șirul (i) este schimbat Șirul (j) Pasul 6: Creșterea I cu 1
Pasul 7: Creșterea J cu 1
Pasul 8: Dacă „I”> „j” mergeți la pasul 3
Pasul 9: Opriți-vă
2. Scrieți un algoritm pentru a introduce un nod în lista legată presupunând că lista legată este deja sortată.
Răspuns:
Cazul 1: Dacă lista legată este goală, atunci faceți nodul ca cap și întoarceți-l.
Cod: New_node-> Next = head;
head = New_node
Cazul 2: Introduceți nodul la mijloc
Cod: În timp ce (P! = Insert_position)
(
P = p-> Următorul;
)
Store_next = P-> Următorul;
P-> Next = New_Node;
New_Node-> Next = Store_next;
Cazul 3: Introduceți un nod la sfârșit
Cod: În timp ce (P-> următor! = Nul)
(
P = P-> Următorul;
)
P-> Next = New_Node;
New_Node-> Next = null;
3. Scrieți un algoritm pentru sortarea bulelor.
Răspuns: Vom implementa algoritmul de sortare a bulelor prin limbajul C.
Pasul 1: Repetați pasul 2 și pasul 3 pentru I = 1 până la 10
Pasul 2: Setați j = 1
Pasul 3: Repetați în timp ce j <= n (Unde n este numărul de elemente din tablou)
(Dacă a (i) <a (j) Apoi schimbați a (i) și a (j) (Sfârșitul lui if))
Setați j = j + 1
(Sfârșitul buclei interioare) (Sfârșitul pasului 1 bucla exterioară) Pasul 4: Ieșire
4. Scrieți un algoritm pentru Heapsort.
Răspuns:
Pasul 1: Deoarece arborele satisface proprietatea max-Heap, atunci cel mai mare element este stocat la nodul rădăcină.
Pasul 2: Eliminați elementul rădăcină și puneți la sfârșitul tabloului (poziția a noua) puneți ultimul element al arborelui (grămadă) la locul liber.
Pasul 3: Reduceți dimensiunea mormanului cu 1 și adunați din nou elementul rădăcină, astfel încât să avem cel mai înalt element la rădăcină.
Pasul 4: Procesul se repetă până când toate elementele listei sunt sortate.
5. Scrieți un algoritm pentru căutarea Fibonacci.
Răspuns:
Pasul 1: A este sortat_int_array;
Pasul 2: luați o variabilă c
Etapa 3: Fib2 = 1, Fib1 = 1 și fib = 2
Pasul 4: În timp ce fib <n do (unde n este numărul de elemente din listă)
Pasul 5: Alocați variabila
Fib2 = Fib1
Fib1 = fibră
Fib = Fib1 + Fib2
Se termină în timp ce
Pasul 6: Alocați valoarea variabilei temporare I = 0, compensare = 0;
Pasul 7: În timp ce Fib> 1 face
I = min (decalare + Fib2, n)
Dacă c <A (i) atunci
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
În rest, dacă c> A (i) atunci
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
altfel
Întoarce-te adevărat
Se încheie dacă
Se termină în timp ce
Returnare falsă
6. Scrieți un algoritm de operare push și pop în stivă.
Răspuns: Pentru funcționare Push
Adăugare de procedură (articol, stivă, N, sus)
(Introduceți „Item” în „stiva” de dimensiunea maximă „n”, topul este numărul de elemente aflate în prezent în „Stack”)
Pasul 1: Verificați Stiva este excedentară?
Dacă (Sus> = N)
Stiva este revărsată
Ieșire
Pasul 2: Dacă stiva nu se revarsă, creșteți bucla
Top = Top + 1
Pasul 3: Introduceți elementul
Stack (Top) = Articol
Pasul 4: Ieșire
Pentru operarea POP
Pasul 1: Verificați Stiva este în flux înseamnă că este gol
Dacă (Top <= 0)
Stiva este goală
Ieșire
Pasul 2: Dacă stiva nu este debitată, atunci ștergeți elementul
Item = stivă (sus) Pasul 3: decrementarea valorii superioare
Top = Top - 1
Pasul 4: Ieșire
7. Scrieți un algoritm pentru operarea de inserare și ștergere în coadă.
Răspuns: Pentru operație de inserare
Adăugarea procedurii (coadă, F, R, N, articol)
(Aceasta va insera „element” în „coadă” după „R” (rar) unde „n” are dimensiunea tabloului.)
Pasul 1: Verificarea cozii este excedentă înseamnă că coada este plină
Dacă (R> = N)
Coada este plină
Ieșire
Pasul 2: Dacă coada nu este revărsată, atunci creșteți bucla
R = R + 1
Pasul 3: Introduceți un element în coadă
Coada (R) = element
Pasul 4: Setarea indicatorului „F” (față)
Dacă (F = 0)
F = 1
Ieșire
Pentru operarea Ștergere în coadă
Ștergerea procedurii (coadă, F, R, articol)
(Ștergeți „elementul” din „stivă”, „F” este indicatorul Front-end și „R” este indicatorul rar.
Pasul 1: Verificați că coada este în flux înseamnă că este goală
Dacă (R <= 0)
Coada este goală
Ieșire
Pasul 2: Ștergerea unui element din coadă
Element = coadă (F) Pasul 3: Creșterea valorii F
F = F + 1
Pasul 4: Verificarea cozii goale
Dacă (F> R)
Atunci F = R = 0
Ieșire
8. Scrieți un algoritm pentru a găsi adâncimea minimă a unui arbore binar.
Răspuns: Fie „nod” indicatorul către nodul rădăcină al unei subtree.
Pasul 1: Dacă nodul este egal cu Null, întoarceți 0
Pasul 2: Dacă nodul este un nod de întoarcere 1.
Pasul 3: găsiți în mod recurent adâncimea minimă a subarborei stânga și dreapta, lăsați-o la stânga și la adâncimea mină la dreapta.
Pasul 4: Pentru a obține înălțimea minimă a arborelui înrădăcinat la nod, vom lua minimum adâncimea mină stângă și adâncimea mină dreaptă și 1 pentru nodul rădăcină.
Program:
Procedura minDepth (nod)
Pasul 1: if (root = null)
Returnare 0
Pasul 2: if (root -> Left = Null și root -> right = Null)
Returnare 1
Pasul 3: if (rădăcina -> stânga nu este nulă)
Returnare minDepth (rădăcină -> dreapta) + 1;
Pasul 4: Dacă (rădăcină -> Dreapta nu este nulă)
Întoarce minDepth (rădăcină -> stânga) + 1;
Pasul 5: retur min (minDepth (rădăcină -> stânga), minDepth (rădăcină -> dreapta)) + 1
Articole recomandate
Acesta a fost un ghid cuprinzător pentru întrebările și răspunsurile la interviu Algoritm, astfel încât candidatul să poată împărți cu ușurință aceste întrebări de interviu Algoritm. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -
- Întrebări la interviu și răspuns la mașină
- Ghid util cu privire la întrebările la interviu Big Data
- Întrebări importante pentru interviul Elasticsearch
- Întrebări utile și răspuns la interviu Apache PIG