Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaHunor Dudás Megváltozta több, mint 10 éve
1
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
2
Rekurzív függvény Olyan függvény, mely meghívja önmagát vagy egy másik függvényt, véges sokszor. Minden rekurzív függvény elágazással kezdődik, melyben eldől, hogy újból meghívja önmagát (vagy egy másik függvényt) vagy kilép a „ciklusból”.
3
Példa egy bináris fa láncolt ábrázolására
1 2 3 4 5 6 7 8 9
4
A bináris fa levelei, olyan pontok, melyeknek nincsenek gyerekei
1 2 3 4 5 6 7 8 9
5
A levelek megszámolása
A rekurzív függvény stuktogramja:
6
A fügvény müködése A függvény egy bináris fát kap paraméternek, és ennek a fának számolja meg a leveleit. A „t” jelöli a fát
7
Az első lépésben megvizsgálja, hogy a paraméterül kapott bináris fa üres-e.
Ha a fa üres, akkor a „return 0” utassál tér vissza a függvény (nem lehetnek gyerekei). Ha a fa nem üres, akkor továbblép, és megvizsgálja, hogy az adott csúcsnak vannak-e gyerekei.
8
Ha a gyökérnek, nincs jobb, illetve bal gyereke, akkor a függvény 1-es értékel tér vissza, ami azt jelenti, hogy a fa csak a gyökérből áll.
9
Ha a csúcsnak van jobb vagy bal gyereke, akkor meghívódik (ez) a Levszám függvény, a csúcs azon gyerekére, amely éppen létezik. A csúcs gyerekei: bal(t), jobb(t) Miközben a levelek számát összeadja.
10
A példában megadott fára a függvény 4es értékkel tér vissza, mivel a fa gyerekei a 7, 5, 8, 9 lesznek. 1 2 3 4 5 6 7 8 9
11
Először a gyökeret vizsgálja, ami a mi esetünkben 1.
Utána megvizsgálja a gyerekeit és azok gyerekeit. Mindez addig folytatódik, amig el nem ér például a 7-es csúcshoz, ahol már nem tud továbblépni, ekkor növeli a levélszámot és visszalép. Ez mindaddig megy míg be nem jártuk a teljes fát.
12
Hasonló függvény, mely alkalmas egy bináris fa leveleinek megszámolására.
Müködési elve hasonló az előbbihez.
13
A fa bejárása külömböző bejárásokkal
Ezek segítségével több információt is megtudhatunk a fáról: Preorder Inorder Postorder Pl: a leveleit is ki lehet iratni
14
Preorder bejárással kiírva a fa elemei: A bejárás stuktogramja:
1, 2, 4, 7, 5, 3, 6, 8, 9. A bejárás stuktogramja:
15
Inorder bejárással kiírva a fa elemei: A bejárás stuktogramja:
4, 7, 2, 5, 1, 3, 8, 6, 9. A bejárás stuktogramja:
16
Postorder bejárással kiírva a fa elemei: A bejárás stuktogramja:
7, 4, 5, 2, 8, 9, 6, 3, 1. A bejárás stuktogramja:
17
Vége
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.