Tusjak óra_2024. 11. 29. (Bináris fa, bejárások)
This commit is contained in:
parent
601b2765d3
commit
71438b75dc
|
@ -0,0 +1,54 @@
|
||||||
|
Csomopont osztály
|
||||||
|
- Az egyes csomópontok adatait Adat és gyermekeit Gyermekek tárolja.
|
||||||
|
- A Gyermekek egy lista, amely tetszőleges számú gyermek csomópontot tartalmazhat.
|
||||||
|
|
||||||
|
Fa osztály
|
||||||
|
- A fa gyökerét Gyoker tarolja.
|
||||||
|
- Tartalmaz egy rekurzív mélységi bejárás metódust MelysegiBejaras, amely a gyökérből kiindulva végigmegy az összes csomóponton.
|
||||||
|
- A keresés Keres szintén rekurzív, és megvizsgálja, hogy egy adott adat szerepel-e a fában.
|
||||||
|
|
||||||
|
Program osztály
|
||||||
|
- Egy családfa példáját mutatja be, amelyben a "Nagyszülő" a gyökércsomó.
|
||||||
|
- Gyermekeket és unokákat ad a fához
|
||||||
|
- Mélységi bejárást végez, majd keres bizonyos csomópontokat.
|
||||||
|
|
||||||
|
Bináris fa
|
||||||
|
Olyan fa, ahol minden csúcsnak legfeljebb két leszármazottja lehet.
|
||||||
|
|
||||||
|
Szigorú értelemben vett bináris fáról beszélünk, ha a bináris fában minden adatelemnek 0 vagy 2 rákövetkezője van.
|
||||||
|
|
||||||
|
|
||||||
|
Láncolt ábrázolás
|
||||||
|
A bináris fa láncolt ábrázolásban mutatók/indexek valósítják meg a rákövetkezési és megelőzési relációkat.
|
||||||
|
|
||||||
|
Bináris fával végezhető műveletek
|
||||||
|
- Létrehozás: üres fa
|
||||||
|
- Bővítés: egy elemmel vagy egy részfával, általában levélelemnél
|
||||||
|
- Törlés: részfát vagy egy elemet utóbbi esetben a fát a lgtöbb esetben újra kell szervezni (hogy továbbra is fa maradjon)
|
||||||
|
- Csere: megengedett
|
||||||
|
- Rendezés: nincs
|
||||||
|
- Keresés, elérés és feldolgozás: a bejárás algoritmusa alapján
|
||||||
|
- Bejárás: szokás szerint olyan algoritmus, amelynek segítségével a bináris fa elemeit leképezzük egy sorra (preorder, inorder vagy postorder módon)
|
||||||
|
|
||||||
|
|
||||||
|
Bináris fa bejárása
|
||||||
|
Bejárás: az adatszerkezet valamennyi elemének egyszeri elérése (feldolgozása)
|
||||||
|
|
||||||
|
A fa bejárása a pontjainak módszeres vizsgálatát jelenti, amelynek során minden pontot egyszer és csakis egyszer látogatunk meg (gyökérvizit).
|
||||||
|
|
||||||
|
Mivel a láncolt lsitával ellentétben egy elemből több irányba is lehet lépni, többféle bejárás is elképzelhető.
|
||||||
|
|
||||||
|
A csomópontokban található adatok (tartalom, bal, jobb) feldolgozásának sorrendje alapján három fő változat különböztethető meg (ezen belül a bal és jobb megcserélhető):
|
||||||
|
- Preorder bejárás
|
||||||
|
- Inorder bejárás
|
||||||
|
- Postorder bejárás
|
||||||
|
|
||||||
|
Gyökérből legfeljebb két részfa ágazik: baloldali és jobboldali részfa
|
||||||
|
|
||||||
|
Bejárása
|
||||||
|
Gyökérkezdő (preorder)
|
||||||
|
a b d c e g h i j f
|
||||||
|
Gyökérközepű (inorder)
|
||||||
|
d b a g e i h j c f
|
||||||
|
Gyökérvégző (postorder)
|
||||||
|
d b g i j h e f c a
|
Loading…
Reference in New Issue
Block a user