Johdatus algoritmihaastatteluun liittyviin kysymyksiin ja vastauksiin

Työhaastatteluun valmistautuminen algoritmissa. Olen varma, että haluat tietää yleisimmät 2019 -algoritmihaastatteluun liittyvät kysymykset ja vastaukset, jotka auttavat sinua murtaamaan algoritmihaastattelun helposti. Alla on luettelo tärkeimmistä algoritmien haastattelua koskevista kysymyksistä ja vastauksista pelastuksesi aikana.

Alla on luettelo 2019 -algoritmihaastatteluun liittyvistä kysymyksistä ja vastauksista, joita voi kysyä haastattelun aikana tuoreemmiksi ja kokemuksellisiksi.

1.Kirjoita algoritmi merkkijonon kääntämiseksi. Esimerkiksi, jos merkkijono on “vahbunA”, niin tulokseni on “Anubhav”.

Vastaus:
Vaihe 1: Aloita
Vaihe 2: Ota kaksi muuttujaa I ja j.
Vaihe 3: j sijoitetaan viimeiseen merkkiin (teknisesti voimme tehdä tämän pituuden mukaan (merkkijono) -1)
Vaihe 4: Olen sijoitettu ensimmäiseen merkkiin (voimme tehdä tämän merkkijonolla (0))
Vaihe 5: Merkkijono (i) vaihdetaan Merkkijono (j) Vaihe 6: Korotus I yhdellä
Vaihe 7: Lisää J: tä 1: llä
Vaihe 8: Jos 'I'> 'j', siirry vaiheeseen 3
Vaihe 9: lopeta

2.Kirjoita algoritmi solmun lisäämiseksi linkitettyyn luetteloon olettaen, että linkitetty luettelo on jo lajiteltu.

Vastaus:
Tapaus 1: Jos linkitetty luettelo on tyhjä, tee solmu päästä ja palauta se.
Koodi: Uusi_solmu-> Seuraava = pää;
pää = Uusi_numero
Tapaus 2: Aseta solmu keskelle
Koodi: kun taas (P! = Insert_position)
(
P = p-> seuraava;
)
Store_next = P-> Seuraava;
P-> Seuraava = Uusi_numero;
New_Node-> Next = Store_next;
Tapaus 3: Lisää solmu loppuun
Koodi: kun taas (P-> seuraava! = Nolla)
(
P = P-> seuraava;
)
P-> Seuraava = Uusi_numero;
Uusi_numero-> Seuraava = nolla;

3.Kirjoita algoritmi kuplalajittelua varten.

Vastaus: Aiomme toteuttaa kuplalajittelualgoritmin C-kielen kautta.
Vaihe 1: Toista vaihe 2 ja 3, jos I = 1-10
Vaihe 2: Aseta j = 1
Vaihe 3: Toista, kun j <= n (missä n on taulukon elementtien lukumäärä)
(Jos a (i) <a (j) Vaihda sitten a (i) ja a (j) (jos lopussa))
Aseta j = j + 1
(Sisälenkin pää) (Vaiheen 1 ulomman silmukan loppu) Vaihe 4: Poistu

4.Kirjoita algoritmi Heapsortille.

Vastaus:
Vaihe 1: Koska puu täyttää max-Heap -ominaisuuden, suurin esine tallennetaan juurisolmulle.
Vaihe 2: Poista juurelementti ja laita ryhmän loppuun (n. Sijainti) puun viimeinen kappale (kasa) tyhjään kohtaan.
Vaihe 3: Pienennä kasan koko yhdellä ja kasa juurelementti uudelleen niin, että meillä on korkein elementti juuressa.
Vaihe 4: Prosessi toistetaan, kunnes kaikki luettelon kohteet on lajiteltu.

5.Kirjoita algoritmi Fibonacci-hakua varten.

Vastaus:
Vaihe 1: A on sorted_int_array;
Vaihe 2: Ota yksi muuttuja c
Vaihe 3: Fib2 = 1, Fib1 = 1 ja fib = 2
Vaihe 4: Vaikka fib <n tehdä (missä n on luettelossa olevan elementin lukumäärä)
Vaihe 5: Määritä muuttuja
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Lopeta kun
Vaihe 6: Määritä arvo väliaikaiselle muuttujalle I = 0, siirtymä = 0;
Vaihe 7: Kun Fib> 1 tee
I = min (siirtymä + Fib2, n)
Jos c <A (i), niin
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Muu, jos c> A (i) sitten
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Offset = I;
muu
Palata totta
Loppu Jos
Lopeta kun
Palauta väärä

6.Kirjoita pinoon push- ja pop-toimintojen algoritmi.

Vastaus: Push-toimintaan
Lisää menettely (tuote, pino, N, yläosa)
(Lisää 'Tuote' enimmäiskoon 'n' pinoon. Yläosa on tällä hetkellä pinossa olevien elementtien lukumäärä.)
Vaihe 1: Tarkista, onko pino ylivuoto?
Jos (Ylä> = N)
Pino on ylivuoto
poistuminen
Vaihe 2: Jos pino ei ylitä, lisää silmukkaa
Ylä = Ylä + 1
Vaihe 3: Aseta elementti
Pino (Yläosa) = Kohde
Vaihe 4: Poistu
POP-toimintaan
Vaihe 1: Tarkista, että pino on täynnä, eli tyhjä
Jos (Ylä <= 0)
Pino on tyhjä
poistuminen
Vaihe 2: Jos pino ei ole alavirta, poista elementti
Kohde = pino (yläosa) Vaihe 3: pienennetään yläarvoa
Ylä = Ylä - 1
Vaihe 4: Poistu

7.Kirjoita algoritmi jonoon lisäämistä ja poistamista varten.

Vastaus: Lisäystoimintoa varten
Lisää menettely (jono, F, R, N, kappale)
(Tämä lisää 'esine' 'jonossa' 'R' (harvinainen) jälkeen, missä 'n' on taulukon koko.)
Vaihe 1: Tarkista jonon ylivuoto tarkoittaa, että jono on täynnä
Jos (R> = N)
Jono on täynnä
poistuminen
Vaihe 2: Jos jono ei ole täynnä, lisää silmukkaa
R = R + 1
Vaihe 3: Lisää elementti jonoon
Jono (R) = esine
Vaihe 4: 'F' (edestä) osoittimen asettaminen
Jos (F = 0)
F = 1
poistuminen
Poistotoiminnolle jonossa
Toimenpiteen poisto (jono, F, R, kohta)
(Poista kohta 'pino', 'F' on etuosan osoitin ja 'R' on harvinainen pääosoitin.
Vaihe 1: Tarkista, että jono on täynnä, tarkoittaa tyhjää
Jos (R <= 0)
Jono on tyhjä
poistuminen
Vaihe 2: Elementin poistaminen jonosta
Kohde = jono (F) Vaihe 3: F: n arvon kasvattaminen
F = F + 1
Vaihe 4: Tyhjän jonon tarkistaminen
Jos (F> R)
Sitten F = R = 0
poistuminen

8.Kirjoita algoritmi löytääksesi binaaripuun pienin syvyys.

Vastaus: Olkoon “solmu” osoitin osapuun juurisolmulle.
Vaihe 1: Jos solmu on yhtä suuri kuin nolla, palauta 0
Vaihe 2: Jos solmu on lehtisolmu, palauta 1.
Vaihe 3: Löydä rekursiivisesti vasemman ja oikean alapuun vähimmäissyvyys, laske sen vastaavasti vasemman vähimmäissyvyys ja oikean min.
Vaihe 4: Saadaksesi puussa vähimmäiskorkeuden juurtuneena solmusta, otamme vähintään vasemman min syvyyden ja oikean min syvyyden ja yhden juurisolmun kohdalta.
Ohjelmoida:
Menettely minDepth (solmu)
Vaihe 1: jos (juuri = nolla)
Palauta 0
Vaihe 2: jos (juuri -> vasen = nolla ja juuri -> oikea = nolla)
Palauta 1
Vaihe 3: jos (juuri -> vasen ei ole tyhjä)
Palauta minDepth (juuri -> oikea) + 1;
Vaihe 4: Jos (juuri -> Oikea ei ole nolla)
Palauta minDepth (juuri -> vasen) + 1;
Vaihe 5: paluu min (minDepth (juuri -> vasen), minDepth (root -> oikea)) + 1

Suositellut artikkelit

Tämä on ollut kattava opas algoritmihaastattelua koskeviin kysymyksiin ja vastauksiin, jotta hakija voi helposti hajottaa nämä algoritmihaastattelukysymykset. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Koneoppimisen haastattelua koskevat kysymykset ja vastaukset
  2. Hyödyllinen opas Big Data -haastattelukysymyksiin
  3. Tärkeitä elastisen haun haastattelukysymyksiä
  4. Hyödyllisiä Apache PIG -haastattelukysymyksiä ja -vastauksia