Bevezetés az algoritmus interjúval kapcsolatos kérdésekbe és válaszokba
Felkészülés az állásinterjúra az algoritmusban. Biztos vagyok benne, hogy meg akarja tudni a leggyakoribb 2019. évi algoritmusinterjúval kapcsolatos kérdéseket és válaszokat, amelyek segítenek könnyedén feltörni az algoritmusinterjút. Az alábbiakban felsoroljuk az elsődleges algoritmus-interjúkérdések és válaszok listáját.
Az alábbiakban felsoroljuk a 2019-es algoritmus interjúval kapcsolatos kérdéseket és válaszokat, amelyeket az interjú során frissesség és tapasztalat céljából kérdezhetünk meg.
1. Írjon egy algoritmust egy karakterlánc megfordításához. Például, ha a karakterláncom „vahbunA”, akkor az eredményem „Anubhav” lesz.
Válasz:
1. lépés: Indítsa el
2. lépés: Vegyünk két I és j változót.
3. lépés: A j jét az utolsó karakterre helyezzük (Technikailag meg tudjuk csinálni hosszon (húr) -1)
4. lépés: Az első karakterre helyezem (ezt megtehetjük húrlal (0))
5. lépés: Az (i) karakterlánc cserélhető (j) karakterlánc: 6. lépés: Az I. növekedés 1-del
7. lépés: Növelje J-t 1-rel
8. lépés: Ha az 'I'> 'j', akkor folytassa a 3. lépéssel
9. lépés: Állj meg
2. Írjon be egy algoritmust egy csomópont beszúrására a csatolt listába, ha a linkelt lista már rendezve van.
Válasz:
1. eset: Ha a csatolt lista üres, akkor állítsa be a csomópontot fejként, és adja vissza.
Kód: Új_csomó-> Következő = fej;
head = New_node
2. eset: Helyezze a csomópontot középen
Kód: míg (P! = Beszúrás_pozíció)
(
P = p-> Következő;
)
Store_next = P-> Next;
P-> Next = New_Node;
New_Node-> Next = Store_next;
3. eset: Helyezzen be egy csomópontot a végén
Kód: Amíg (P-> következő! = Null)
(
P = P-> Következő;
)
P-> Next = New_Node;
New_Node-> Next = null;
3. Írjon egy algoritmust a buborék rendezéshez.
Válasz: A buborékbesorolás algoritmust fogjuk megvalósítani a C nyelven.
1. lépés: Ismételje meg a 2. és a 3. lépést, ha I = 1-10
2. lépés: Állítsa be a j = 1 értéket
3. lépés: Ismételje meg, amíg j <= n (ahol n az elemek száma a tömbben)
(Ha a (i) <a (j), akkor cserélje ki az (i) és a (j) -t (ha vége))
Állítsa be a j = j + 1 értéket
(A belső hurok vége) (Az 1. lépés vége a külső huroknak) 4. lépés: Kilépés
4. Írjon egy algoritmust a Heapsort számára.
Válasz:
1. lépés: Mivel a fa kielégíti a max-Heap tulajdonságot, akkor a legnagyobb elem a gyökér csomópontban kerül tárolásra.
2. lépés: Távolítsa el a gyökér elemet, és a tömb végére (n. Helyzet) tegye a fa utolsó elemét (halom) a megüresedett helyre.
3. lépés: Csökkentse a halom méretét 1-rel, és rakja meg ismét a gyökér elemet, hogy a gyökérnél legyen a legmagasabb elem.
4. lépés: A folyamatot addig ismételjük, amíg a lista összes elemét nem rendezzük.
5. Írjon egy algoritmust a Fibonacci kereséshez.
Válasz:
1. lépés: A sorted_int_array;
2. lépés: Vegyünk egy változót c
3. lépés: Fib2 = 1, Fib1 = 1 és fib = 2
4. lépés: Míg a fib <n nem (ahol n a listában szereplő elem száma)
5. lépés: Rendelje meg a változót
Fib2 = Fib1
Fib1 = Fib
Fib = Fib1 + Fib2
Addig vége
6. lépés: Adja meg az értéket az I = 0 ideiglenes változónak, eltolás = 0;
7. lépés: Amíg a Fib> 1 nem
I = perc (eltolás + Fib2, n)
Ha c <A (i), akkor
Fib = Fib2
Fib1 = Fib1 - Fib2
Fib2 = Fib - Fib1
Egyéb, ha c> A (i), akkor
Fib = Fib1;
Fib1 = Fib2;
Fib2 = Fib - Fib1;
Eltolás = I;
Más
Visszatérés igaz
Vége, ha
Addig vége
Vissza hamis
6. Írjon egy push és pop művelet algoritmust a veremben.
Válasz: Nyomóüzemhez
Eljárás hozzáadása (tétel, verem, N, felső)
(Helyezze az „Elem” pontot az „n” maximális méretű „verembe”, a tetején jelenik meg a „Veremben” található elemek száma)
1. lépés: Ellenőrizze, hogy a verem túlcsordult-e?
If (felső> = N)
A verem túlcsordult
Kijárat
2. lépés: Ha a verem nem túlcsordul, növelje meg a hurkot
Felső = felső + 1
3. lépés: Helyezze be az elemet
Stack (felül) = elem
4. lépés: Kilépés
POP művelethez
1. lépés: Ellenőrizze, hogy a verem túlcsordul-e, az üres
Ha (felső <= 0)
A verem üres
Kijárat
2. lépés: Ha a verem nem alakul ki, törölje az elemet
Elem = halom (felső) 3. lépés: a felső érték csökkentése
Felső = felső - 1
4. lépés: Kilépés
7. Írjon be egy algoritmust a sorban való beszúrás és törlés művelethez.
Válasz: beillesztési művelethez
Eljárás hozzáadása (sor, F, R, N, tétel)
(Ez beilleszti az „elem” elemet a „sorba” az „R” után (ritka), ahol „n” a tömb mérete.)
1. lépés: Ellenőrizze, hogy a sor túlcsordult-e, vagyis a sor megtelt
Ha (R> = N)
A sor megtelt
Kijárat
2. lépés: Ha a sor nem túlcsordult, akkor növelje meg a hurkot
R = R + 1
3. lépés: Helyezzen be egy elemet a sorba
(R) sor = elem
4. lépés: Az 'F' (elülső) mutató beállítása
Ha (F = 0)
F = 1
Kijárat
Törlés művelethez a sorban
Az eljárás törlése (sor, F, R, tétel)
(Törölje az „elem” elemet a „veremből”, „F” az előlapi mutató és „R” a ritka végű mutató.
1. lépés: Ellenőrizze, hogy a várólista túlcsordul-e - üres
Ha (R <= 0)
A sor üres
Kijárat
2. lépés: Egy elem törlése a sorból
Elem = sor (F) 3. lépés: Az F értékének növelése
F = F + 1
4. lépés: Az üres sor ellenőrzése
If (F> R)
Ezután F = R = 0
Kijárat
8. Írjon be egy algoritmust a bináris fa minimális mélységének meghatározásához.
Válasz: Legyen a „csomópont” az alfa törzsének csomópontjának mutatója.
1. lépés: Ha a csomópont nullával egyenlő, akkor térjen vissza 0-ra
2. lépés: Ha a csomópont egy levélcsomópont, akkor térjen vissza 1-re.
3. lépés: Rekurzív módon keresse meg a bal és a jobb alfa minimális mélységét, hagyja, hogy a bal mélység és a jobb min. Mélység legyen.
4. lépés: Ahhoz, hogy megkapjuk a csomópontnál gyökerező fa minimális magasságát, legalább a bal és a jobb min mélységet, a gyökér csomóponthoz pedig legalább egyet veszünk.
Program:
MinDepth (csomópont) eljárás
1. lépés: if (root = null)
Vissza 0
2. lépés: ha (gyökér -> bal = nulla és gyökér -> jobb = null)
Vissza 1
3. lépés: ha (a root -> bal nem nulla)
MinDepth visszatérése (gyökér -> jobbra) + 1;
4. lépés: Ha (gyökér -> A jobb nem üres)
Visszatérés minDepth (gyökér -> balra) + 1;
5. lépés: visszatérés min (minDepth (gyökér -> bal), minDepth (root -> jobb)) + 1
Ajánlott cikkek
Ez az algoritmus interjúval kapcsolatos kérdések és válaszok átfogó útmutatója, így a jelölt könnyen meg tudja oldani ezeket az algoritmus interjú kérdéseit. A következő cikkeket is megnézheti további információkért -
- Gépi tanulással kapcsolatos interjúkérdések és válaszok
- Hasznos útmutató a Big Data interjúval kapcsolatos kérdésekhez
- Fontos rugalmas interjúkérdések
- Hasznos Apache PIG interjúkérdések és válaszok