18 parimat algoritmi intervjuuküsimust ja Vastused

Anonim

Laadige alla PDF

1) Selgitage, mis on arvutamise algoritm?

Algoritm on täpselt määratletud arvutusprotseduur, mis võtab sisendina osa väärtusest ja väljundina osa väärtusest. Lihtsamalt öeldes on see arvutuslike sammude jada, mis teisendab sisendi väljundiks.

2) Selgitage, mis on Quick Sort algoritm?

Kiire sorteerimise algoritmil on võimalus sorteerida loendeid või päringuid kiiresti. See põhineb põhimõttel partitsioonivahetus sorteerida või jagada ja vallutada. Seda tüüpi algoritmid hõivavad vähem ruumi ja see eraldab loendi kolmeks põhiosaks

  • Elemendid, mis on väiksemad kui Pivoti element
  • Pöördelement
  • Pivoti elemendist suuremad elemendid

3) Selgitage, mis on algoritmi ajaline keerukus?

Algoritmi ajaline keerukus näitab kogu programmi täitmiseks kuluvat aega. Seda väljendatakse tavaliselt suure O-noodi abil.

4) Mainige, milliseid tähistamise tüüpe kasutatakse aja keerukuse jaoks?

Ajakompleksi jaoks kasutatud tähistuste tüübid hõlmavad järgmist

  • Suur oh: see tähistab "vähem kui või sama" kordused
  • Suur omega : see tähistab "rohkem kui või sama kui" kordused
  • Suur teeta: see tähistab "sama mis" kordused
  • Väike Oh: see näitab "vähem kui" kordust
  • Väike omega: see näitab "rohkem kui" kordusi

5) Selgitage, kuidas binaarotsing töötab?

Binaarotsingus võrdleme võtit massiivi keskmises positsioonis oleva üksusega. Kui võti on väiksem kui otsitud üksus, peab see asuma massiivi alumises osas, kui võti on suurem kui otsitud üksus, kui see peaks olema massiivi ülemisel poolel.

6) Selgitage, kas lingitud loendite jaoks on võimalik kasutada kahendotsingut?

Kuna juhuslik juurdepääs pole lingitud loendis vastuvõetav, on O (1) aja keskmisele elemendile jõudmine võimatu. Seega pole binaarotsing lingitud loendi jaoks võimalik.

7) Selgitage, mis on hunnikusort?

Hunniku sorteerimise võib määratleda võrdluspõhise sortimisalgoritmina. See jagab sisendi sorteerimata ja sorteeritud piirkonda, kuni vähendab sorteerimata piirkonda, kõrvaldades väikseima elemendi ja viies selle sorteeritud piirkonda.

8) Selgitage, mis on vahelejätmise loend?

Jätke loend andmete struktureerimise meetodist, kus see võimaldab algoritmil elemente otsida, kustutada ja sisestada sümbolitabelisse või sõnastikku. Vahelejätmisloendis on iga element esindatud sõlmega. Otsingufunktsioon tagastab võtmega seotud väärtuse sisu. Sisestusoperatsioon seob määratud võtme uue väärtusega, kustutamisfunktsioon aga kustutab määratud võtme.

9) Selgitage, mis on sisestuse sorteerimise algoritmi ruumi keerukus?

Sisestussorteerimine on kohapealne sorteerimisalgoritm, mis tähendab, et see ei vaja lisavõimalusi ega vähe. ladustamine. Sisestussorteerimise jaoks on vaja ainult üksikute loendielementide salvestamist väljaspool algandmeid, muutes ruumi keerukaks 0 (1).

10) Selgitage, mis on "hash algoritm" ja milleks neid kasutatakse?

"Räsialgoritm" on räsifunktsioon, mis võtab mis tahes pikkuse stringi ja vähendab selle ainulaadseks fikseeritud pikkusega stringiks. Seda kasutatakse parooli kehtivuse, sõnumite ja andmete terviklikkuse ning paljude teiste krüptosüsteemide jaoks.

11) Selgitage, kuidas leida, kas lingitud loendis on silmus?

Selleks, et teada saada, kas lingitud loendis on tsükkel, võtame kahe kursori lähenemise. Kui säilitame kaks osutit ja suurendame ühe osuti pärast kahe sõlme töötlemist ja teise pärast iga sõlme töötlemist, satume tõenäoliselt olukorda, kus mõlemad osutid osutavad samale sõlmele. See juhtub ainult siis, kui lingitud loendis on silmus.

12) Selgitage, kuidas krüpteerimisalgoritm töötab?

Krüptimine on tavalise teksti teisendamine salajaseks koodivorminguks, mida nimetatakse "krüptitekstiks". Teksti teisendamiseks kasutab algoritm arvutusteks bittide stringi, mida nimetatakse "võtmeteks". Mida suurem on võti, seda suurem on šifriteksti loomise võimalike mustrite arv. Enamik krüptimisalgoritme kasutab fikseeritud sisendplokke, mille pikkus on umbes 64 kuni 128 bitti, samas kui mõned kasutavad voogemeetodit.

13) Loetlege mõned tavaliselt kasutatavad krüptograafilised algoritmid?

Mõned tavaliselt kasutatavad krüptograafilised algoritmid on

  • 3-suunaline
  • Blowfish
  • CAST
  • CMEA
  • GOST
  • DES ja kolmekordne DES
  • IDEA
  • LOKI ja nii edasi

14) Selgitage, mis on algoritmi parima stsenaariumi ja halvima stsenaariumi erinevus?

  • Parim stsenaarium: Algoritmi parimat stsenaariumi selgitatakse kui andmete paigutust, mille jaoks algoritm toimib kõige paremini. Näiteks võtame kahendotsingu, mille puhul oleks parim stsenaarium juhul, kui sihtväärtus oleks otsitavate andmete keskmes. Parim juhtumite keerukus oleks 0 (1)

  • Halvim stsenaarium: sellele viidatakse antud algoritmi halvim sisendkomplekt. Näiteks kiirsort, mis võib kõige halvemini toimida, kui valite pöördväärtuse jaoks alamloendi suurima või väikseima elemendi. See põhjustab kiire sordi degenereerumise O-ni (n2).

15) Selgitage, mis on Radix Sort algoritm?

Radixi sortimine paneb elemendi järjekorda, võrreldes numbrite numbreid. See on üks täisarvude lineaarse sorteerimise algoritme.

16) Selgitage, mis on rekursiivne algoritm?

Rekursiivne algoritm on meetod keerulise probleemi lahendamiseks, jagades probleemi väiksemateks ja väiksemateks alamprobleemideks, kuni saate probleemi piisavalt väikeseks, et seda oleks lihtne lahendada. Tavaliselt hõlmab see funktsiooni, mis kutsub ennast .

17) Mainige, millised on kolm rekursiooni algoritmi seadust?

Kõik rekursiivsed algoritmid peavad järgima kolme seadust

  • Sellel peaks olema alusjuhtum
  • Rekursiivne algoritm peab ennast kutsuma
  • Rekursiivne algoritm peab muutma oma olekut ja liikuma alusjuhtumi poole

18) Selgitage, mis on mullide sorteerimise algoritm?

Mullide sortimise algoritmi nimetatakse ka vajuvaks sortimiseks. Seda tüüpi sortimisel võrreldakse välja sorteeritav loend kõrvuti asetsevate üksuste paari. Kui need on korraldatud vales järjekorras, vahetab see väärtused ja korraldab need õiges järjekorras.