Kezdőoldal » Számítástechnika » Programozás » Interjúfeladat megoldás?

Interjúfeladat megoldás?

Figyelt kérdés

Adott egy függvény aminek bemenete egy bináris fa gyökere és vissza kell adni a fában a belső csomópontok értékének összegét.

A belső csomópont definíciója:

- felette van legalább egy szint

- alatta van legalább egy szint

- ugyanazon a szinten tőle balra van legalább egy csomópont

- ugyanazon a szinten tőle jobbra van legalább egy csomópont


A következő fa esetében pl. 6 lenne az eredmény:

[link]


Ezt kaptam ma interjún de nem tudtam megoldani a megadott idő alatt. A céget nem szeretném elmondani.

A nyelvet én választhattam (Java-ban próbálkoztam).

Gyakorlatilag a következő függvény törzsét kellett volna megírnom:

int innerNodeSum(BinaryTreeNode root) { ... }

A BinaryTreeNode osztálynak 3 adattagja van, left, right és value.

Annyit mondtak hogy az összeg biztosan belefér egy 32 bites intbe.

Úgy indultam el hogy elkezdem rekurzívan bejárni a fát és egy mapben/dictionaryben tárolom a szülő-gyerek kapcsolatokat de eléggé belegabalyodtam, meg nem tudomtam végülis hogy az egymás melletti csomópontokat hogy vizsgáljam.

Hogy kellet volna ezt rendesen megcsinálni?



2020. júl. 20. 16:36
1 2 3 4
 1/32 anonim ***** válasza:
19%
Ha mar ugy is be kell jarnod, szamold meg a peremen levo csomopontok szamat es az osszes szamot, utobbibol elozot kivonod es voila. A rekurziv fuggvenynek meg parameterben atadod, hogy jobb avagy bal szelso-e. Et csak akkor jelzed true-nak, ha bal szelsobol balra haladsz, vagy jobbol jobba...
2020. júl. 20. 16:44
Hasznos számodra ez a válasz?
 2/32 anonim ***** válasza:
19%
Vagy igazabol nem is kell kivonni, visszateritheted a hivonak az alatta levo belso csomok szamat...
2020. júl. 20. 16:45
Hasznos számodra ez a válasz?
 3/32 A kérdező kommentje:
De honnan tudom hogy peremen vagyok?
2020. júl. 20. 16:48
 4/32 anonim ***** válasza:
19%
Amikor elindulsz gyokerbol, a bal agnak balperem=true-t, jobbperem=false-t adsz at, a kovetkezo pontban meg ugyanigy, balraagazba balperem mindig true lesz, de jobbra agazva mar mindketto false.
2020. júl. 20. 16:57
Hasznos számodra ez a válasz?
 5/32 A kérdező kommentje:

Nem értem :)

Vegyük a példát amit linkeltem a kérdésben:

[link]

Leérek a 6-os csomópontba. Tudom, hogy van tőle balra az 1-es, mert testvérek, ez oké, de honnan tudom, hogy mellette van a 14-es is és ezért belső csomópont?

2020. júl. 20. 17:17
 6/32 anonim ***** válasza:
19%
Nem kell tudnod, hogy mi van mellette, a szulo csomopontbol atadtad az infot, hogy bal avagy jobb szelso-e.
2020. júl. 20. 17:23
Hasznos számodra ez a válasz?
 7/32 A kérdező kommentje:
Tehát már a 3-as csomópontnál tudom, hogy a 6-os mellett lesz-e jobbra csomópont? Azt honnan?
2020. júl. 20. 17:29
 8/32 anonim ***** válasza:
15%
Mondd, hogy sikerult elvegezned az egyetemet? :'D
2020. júl. 20. 17:32
Hasznos számodra ez a válasz?
 9/32 A kérdező kommentje:
Nem sikerült.
2020. júl. 20. 17:36
 10/32 anonim ***** válasza:
8%
Akkor minek jelentkezel programozó állásra? Ezek még egyszerűbb feladatok interjún, de ennél csak nehezebbek lesznek.
2020. júl. 20. 17:38
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!