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