Top 18 întrebări de interviu pentru algoritmi & Răspunsuri

Anonim

Descărcați PDF

1) Explicați ce este un algoritm în calcul?

Un algoritm este o procedură de calcul bine definită care ia o anumită valoare ca intrare și generează o anumită valoare ca ieșire. În cuvinte simple, este o secvență de pași de calcul care convertește intrarea în ieșire.

2) Explicați ce este algoritmul de sortare rapidă?

Algoritmul de sortare rapidă are capacitatea de a sorta rapid lista sau interogările. Se bazează pe principiul sortării schimbului de partiții sau Divide and conquer. Acest tip de algoritm ocupă mai puțin spațiu și separă lista în trei părți principale

  • Elemente mai mici decât elementul Pivot
  • Element pivot
  • Elemente mai mari decât elementul Pivot

3) Explicați ce este complexitatea în timp a algoritmului?

Complexitatea de timp a unui algoritm indică timpul total necesar programului pentru a rula până la finalizare. Se exprimă de obicei folosind notația O mare.

4) Menționați care sunt tipurile de notație utilizate pentru complexitatea timpului?

Tipurile de notații utilizate pentru complexitatea timpului includ

  • Oh mare: indică „mai puține sau aceleași ca” iterații
  • Omega mare : indică iterațiile „mai mult sau identice cu”
  • Theta mare: indică iterațiile „la fel ca”
  • Little Oh: indică iterații „mai puține decât”
  • Micul Omega: indică iterații „mai mult decât”

5) Explicați cum funcționează căutarea binară?

În căutarea binară, comparăm cheia cu elementul din poziția de mijloc a tabloului. Dacă cheia este mai mică decât elementul căutat, atunci trebuie să se afle în jumătatea inferioară a matricei, dacă cheia este mai mare decât elementul căutat decât ar trebui să fie în jumătatea superioară a matricei.

6) Explicați dacă este posibil să utilizați căutarea binară pentru listele legate?

Deoarece accesul aleatoriu nu este acceptabil în lista legată, este imposibil să se atingă elementul de mijloc al timpului O (1). Astfel, căutarea binară nu este posibilă pentru lista conectată.

7) Explicați ce este sortul de heap?

Sortarea în grămadă poate fi definită ca un algoritm de sortare bazat pe comparație. Își împarte intrarea în regiunea nesortată și sortată, până când micșorează regiunea nesortată eliminând cel mai mic element și mutând-o în regiunea sortată.

8) Explicați ce este Skip list?

Săriți lista metodei de structurare a datelor, unde permite algoritmului să caute, să șteargă și să insereze elemente într-un tabel de simboluri sau un dicționar. Într-o listă de sărituri, fiecare element este reprezentat de un nod. Funcția de căutare returnează conținutul valorii aferente tastei. Operația de inserare asociază o cheie specificată cu o nouă valoare, în timp ce funcția de ștergere șterge cheia specificată.

9) Explicați ce este complexitatea spațială a algoritmului de sortare a inserției?

Sortarea prin inserție este un algoritm de sortare la fața locului, ceea ce înseamnă că nu necesită nimic suplimentar sau puțin. depozitare. Pentru sortarea inserției, este nevoie de numai elemente de listă unice pentru a fi stocate în afara datelor inițiale, făcând complexitatea spațiului 0 (1).

10) Explicați ce este un „algoritm Hash” și pentru ce se utilizează?

"Algoritmul Hash" este o funcție hash care ia un șir de orice lungime și îl reduce la un șir unic de lungime fixă. Este folosit pentru validitatea parolei, integritatea mesajelor și a datelor și pentru multe alte sisteme criptografice.

11) Explicați cum să găsiți dacă lista legată are o buclă?

Pentru a ști dacă lista legată are o buclă, vom lua o abordare cu două pointeri. Dacă menținem două pointeri și creștem un pointer după procesarea a două noduri și altul după procesarea fiecărui nod, este posibil să întâlnim o situație în care ambele pointer vor fi îndreptate către același nod. Acest lucru va apărea numai dacă lista legată are o buclă.

12) Explicați cum funcționează algoritmul de criptare?

Criptarea este procesul de conversie a textului simplu într-un format de cod secret denumit „text cifrat”. Pentru a converti textul, algoritmul folosește un șir de biți denumiți „chei” pentru calcule. Cu cât este mai mare cheia, cu atât este mai mare numărul de modele potențiale pentru crearea textului cifrat. Majoritatea algoritmului de criptare utilizează coduri blocuri fixe de intrare care au o lungime de aproximativ 64 până la 128 biți, în timp ce unii folosesc metoda fluxului.

13) Enumerați câțiva dintre algoritmii criptografici utilizați în mod obișnuit?

Unii dintre algoritmii criptografici frecvent utilizați sunt

  • 3 căi
  • Blowfish
  • CAST
  • CMEA
  • GOST
  • DES și Triple DES
  • IDEE
  • LOKI și așa mai departe

14) Explicați care este diferența dintre cel mai bun scenariu și cel mai rău caz al unui algoritm?

  • Cel mai bun scenariu: scenariul cel mai bun caz pentru un algoritm este explicat ca aranjarea datelor pentru care algoritmul funcționează cel mai bine. De exemplu, efectuăm o căutare binară, pentru care cel mai bun scenariu ar fi dacă valoarea țintă se află chiar în centrul datelor căutate. Cea mai bună complexitate a timpului de caz ar fi 0 (1)

  • Cel mai prost scenariu: este indicat pentru cel mai prost set de intrări pentru un algoritm dat. De exemplu, quicksort, care se poate comporta cel mai prost dacă selectați cel mai mare sau cel mai mic element dintr-o sublistă pentru valoarea pivot. Acesta va determina degenerarea rapidă a O (n2).

15) Explicați ce este algoritmul Radix Sort?

Sortarea Radix pune elementul în ordine prin compararea cifrelor numerelor. Este unul dintre algoritmii de sortare liniară pentru numere întregi.

16) Explicați ce este un algoritm recursiv?

Algoritmul recursiv este o metodă de rezolvare a unei probleme complicate prin descompunerea unei probleme în sub-probleme din ce în ce mai mici, până când obțineți problema suficient de mică pentru a putea fi rezolvată cu ușurință. De obicei, implică o funcție care se numește .

17) Menționează care sunt cele trei legi ale algoritmului recursiv?

Tot algoritmul recursiv trebuie să respecte trei legi

  • Ar trebui să aibă un caz de bază
  • Un algoritm recursiv trebuie să se numească singur
  • Un algoritm recursiv trebuie să-și schimbe starea și să se deplaseze spre cazul de bază

18) Explicați ce este algoritmul sortării cu bule?

Algoritmul de sortare cu bule este denumit și sortare de scufundare. În acest tip de sortare, lista care trebuie sortată compară perechea de articole adiacente. Dacă sunt organizate în ordinea greșită, va schimba valorile și le va aranja în ordinea corectă.