18 vprašanj o intervjuju za algoritem & Odgovori

Anonim

Prenesite PDF

1) Pojasnite, kaj je algoritem pri računalništvu?

Algoritem je natančno določen računski postopek, ki vzame določeno vrednost kot vhod in ustvari neko vrednost kot izhod. Z enostavnimi besedami gre za zaporedje računskih korakov, ki pretvori vhod v izhod.

2) Pojasnite, kaj je algoritem za hitro razvrščanje?

Algoritem hitrega razvrščanja lahko hitro razvrsti seznam ali poizvedbe. Temelji na principu razdelitve particij razvrsti ali razdeli in osvoji. Ta vrsta algoritma zavzame manj prostora in seznam loči na tri glavne dele

  • Elementi manj kot element Pivot
  • Vrtilni element
  • Elementi, večji od elementa Pivot

3) Pojasnite, kakšna je časovna zapletenost algoritma?

Časovna zapletenost algoritma označuje skupni čas, ki ga program potrebuje za dokončanje. Običajno se izrazi z uporabo velikega zapisa O.

4) Omenite, katere vrste zapisov se uporabljajo za časovno zapletenost?

Vrste zapisov, ki se uporabljajo za časovno zapletenost, vključujejo

  • Big Oh: Označuje "manj kot ali enako kot" ponovitev
  • Velika Omega : Označuje "več ali enako kot" ponovitve
  • Big Theta: Označuje "enako kot" ponovitve
  • Little Oh: Označuje "manj kot" ponovitev
  • Mala Omega: Označuje "več kot" ponovitev

5) Pojasnite, kako deluje binarno iskanje?

Pri binarnem iskanju primerjamo ključ z elementom v srednjem položaju polja. Če je ključ manjši od iskanega elementa, mora ležati v spodnji polovici polja, če je ključ večji od iskanega elementa, kot bi moral biti v zgornji polovici polja.

6) Pojasnite, ali je mogoče uporabiti binarno iskanje povezanih seznamov?

Ker naključni dostop na povezanem seznamu ni sprejemljiv, je nemogoče doseči srednji element časa O (1). Tako binarno iskanje povezanega seznama ni mogoče.

7) Pojasnite, kaj je sorta kopice?

Razvrščanje kopice lahko definiramo kot algoritem za razvrščanje na podlagi primerjave. Svoj vhod deli na nesortirano in razvrščeno področje, dokler ne zmanjša nesortiranega območja, tako da izloči najmanjši element in ga premakne v razvrščeno območje.

8) Pojasnite, kaj je Skip list?

Preskoči seznam metode za strukturiranje podatkov, kjer algoritmu omogoča iskanje, brisanje in vstavljanje elementov v tabelo simbolov ali slovar. Na preskočenem seznamu je vsak element predstavljen z vozliščem. Funkcija iskanja vrne vsebino vrednosti, povezane s ključem. Operacija vstavljanja določeni ključ poveže z novo vrednostjo, medtem ko funkcija brisanja izbriše navedeni ključ.

9) Pojasnite, kakšna je zapletenost prostora algoritma za razvrščanje vstavljanja?

Razvrščanje vstavljanja je algoritem za razvrščanje na mestu, kar pomeni, da ne zahteva nobenega dodatka ali malo. shranjevanje. Za razvrščanje vstavljanja zahteva, da se zunaj začetnih podatkov shranijo samo posamezni elementi seznama, zaradi česar je zapletenost prostora 0 (1).

10) Pojasnite, kaj je "algoritem razpršitve" in za kaj se uporabljajo?

"Razpršeni algoritem" je zgoščevalna funkcija, ki zavzame niz poljubne dolžine in jo zmanjša na edinstveni niz s fiksno dolžino. Uporablja se za veljavnost gesla, celovitost sporočil in podatkov ter za številne druge kriptografske sisteme.

11) Pojasnite, kako ugotoviti, ali ima povezani seznam zanko?

Če želite vedeti, ali ima povezani seznam zanko, bomo uporabili dvokanalni pristop. Če vzdržujemo dva kazalca in enega kazalca povečamo po obdelavi dveh vozlišč, drugega pa po obdelavi vsakega vozlišča, bomo verjetno naleteli na situacijo, ko bo kazalec usmerjen na isto vozlišče. To se bo zgodilo le, če ima povezani seznam zanko.

12) Pojasnite, kako deluje algoritem šifriranja?

Šifriranje je postopek pretvorbe navadnega besedila v skrivno obliko kode, imenovano "šifrirano besedilo". Za pretvorbo besedila algoritem za izračun uporablja niz bitov, imenovan "ključi". Večji kot je ključ, večje je število možnih vzorcev za ustvarjanje besedila šifre. Večina algoritmov za šifriranje uporablja kode s fiksnimi vhodnimi bloki, ki so dolge približno 64 do 128 bitov, medtem ko nekateri uporabljajo tok.

13) Naštejte nekatere pogosto uporabljene kriptografske algoritme?

Nekateri najpogosteje uporabljeni kriptografski algoritmi so

  • 3-smerni
  • Blowfish
  • CAST
  • CMEA
  • GOST
  • DES in Triple DES
  • IDEA
  • LOKI in tako naprej

14) Pojasnite, kakšna je razlika med najboljšim in najslabšim scenarijem algoritma?

  • Najboljši primer: Najboljši scenarij za algoritem je razložen kot razporeditev podatkov, za katere algoritem deluje najbolje. Na primer, vzamemo binarno iskanje, za katerega bi bil najboljši scenarij, če bi bila ciljna vrednost v središču podatkov, ki jih iščete. Najboljša časovna zapletenost bi bila 0 (1)

  • Najslabši scenarij: napoten je za najslabši nabor vhodnih podatkov za dani algoritem. Na primer hitro sortiranje, ki je lahko najslabše, če za vrtilno vrednost izberete največji ali najmanjši element na seznamu. Hitri sorti bodo povzročili degeneracijo do O (n2).

15) Pojasnite, kaj je algoritem Radix Sort?

Radix sort postavi element v red s primerjavo številk števil. Je eden od linearnih algoritmov za razvrščanje celih števil.

16) Pojasnite, kaj je rekurzivni algoritem?

Rekurzivni algoritem je metoda reševanja zapletenega problema tako, da se problem razdeli na manjše in manjše podprobleme, dokler problema ne dobite dovolj majhnega, da ga je mogoče enostavno rešiti. Običajno vključuje funkcijo, ki se sama pokliče .

17) Omenite, kateri so trije zakoni rekurzijskega algoritma?

Vsi rekurzivni algoritmi morajo upoštevati tri zakone

  • Moral bi imeti osnovni primer
  • Rekurzivni algoritem se mora poklicati
  • Rekurzivni algoritem mora spremeniti svoje stanje in se pomakniti proti osnovnemu primeru

18) Pojasnite, kaj je algoritem za razvrščanje mehurčkov?

Algoritem razvrščanja po mehurčkih se imenuje tudi sortiranje, ki tone. Pri tej vrsti razvrščanja seznam, ki ga je treba razvrstiti, primerja par sosednjih elementov. Če so organizirani v napačnem vrstnem redu, bo vrednosti zamenjal in jih razvrstil v pravilnem vrstnem redu.