Bináris keresőfák, AVL fák
Egy bináris keresőfa

Egy AVL fa

Gyakorló feladatok
- a) Egy bináris kereső fa preorder bejárása a következő sorozatot eredményezte:
PRE: 52, 20, 31, 25, 22, 43, 35, 46, 80, 75, 60, 79, 84, 93, 86
Rajzolja le a fát!
megoldás
b) Építsen bináris keresőfát egymás utáni beszúrásokkal az alábbi kulcsokból:
75, 43, 22, 63, 10, 37, 68, 85, 88, 49, 40, 56, 39, 52, 15, 38
Törölje a 43-as csúcsot a tanult algoritmus szerint, majd rajzolja le újra a
fát.
megoldás
- a) Egy bináris keresőfa postorder bejárása a következő sorozatot eredményezte:
POST: 20, 35, 22, 18, 50, 48, 47, 39, 60, 54, 74, 71, 79, 76, 82, 63, 52
Rajzolja le a fát!
megoldás
b) Törölje a tanult
algoritmus szerint a 63-as csúcsot, majd rajzolja le újra a fát.
megoldás
- Készítsen rekurzív algoritmust a következő feladatra: egy bináris keresőfa 0..k szintjein
lévő kulcsokat kell kiírni nagyság szerint csökkenően.
Módosítsa a tanult rekurzív bejáró algoritmusok közül a megfelelőt a feladat szerint.
(A gyökér szintje 0.)
megoldás
- Készítsen rekurzív algoritmust a következő feladatra: egy bináris keresőfa n..m
szintjein elhelyezkedő kulcsokat kell kiírni nagyság szerint növekvően.
Módosítsa a tanult rekurzív bejáró algo-ritmusok közül a megfelelőt a feladat szerint.
(0≤n≤m, a gyökér szintje 0)
megoldás
- Írjon rekurzív egész értékű függvényt, mely minél kevesebb összehasonlítással megadja,
hogy egy tetszőleges t keresőfában hány kulcs esik bele egy előre adott [a,b] intervallumba.
Nem fogadható el az a megoldás, mely valamely tanult stratégia szerint bejárja a fát, és
közben vizsgálja a csúcsok-ban tárolt értékeket, használjuk ki a keresőfa alakjáról tanultakat!
első megoldás
második megoldás
- Adott egy rendezett számsorozat az A[1..n] tömbben, a számok mind különbözők.
Adjon rekurzív algoritmust, mely a rendezett tömbből felépíti az optimális alakú
láncolt ábrázolású kereső fát. A fa csúcsait három pointerrel ábrázoljuk: bal, jobb és szülő pointerekkel.
- A tanult algoritmus alapján építsen a következő számsorozatból AVL fát.
Feltétlenül jelezze minden forgatás előtt a fa csúcspontjainak egyensúlyát,
jelölje a transzformációban résztvevő részfát, és adja meg a forgatás típusát.
74 86 24 56 12
8 99 76 80 110
20 18 22 3 15
- Adott egy bináris keresőfa preorder bejárásával keletkezett kulcssorozat
egy tömbben. Készítsen rekurzív algoritmust, mely felépíti a láncoltan
ábrázolt bináris keresőfát a tömb alapján. A csúcsokat 2 pointerrel
ábrázoljuk, szülő pointer nincs.
- Adott egy bináris keresőfa postorder bejárásával keletkezett
kulcssorozat egy tömbben. Készítsen rekurzív algoritmust, mely felépíti a
láncoltan ábrázolt bináris keresőfát a tömb alapján. A csúcsokat 2
pointerrel ábrázoljuk, szülő pointer nincs.
-
Adott egy láncoltan ábrázolt bináris keresőfa. A fát három pointerrel (balgyerek,
jobbgyerek, szülő) ábrázoltuk. Készítsen iteratív algoritmust, mely megadja
a bináris keresőfa egy adott elemének rákövetkezőjét. Rákövetkező alatt azt az
elemet értjük, mely nagyság szerint növekvő sorrendben az adott elem után következik.
-
Adott egy láncoltan ábrázolt bináris keresőfa. A fát három pointerrel (balgyerek,
jobbgyerek, szülő) ábrázoltuk. Készítsen iteratív algoritmust, mely megadja
a bináris keresőfa egy adott elemének előzőjét. Előző alatt azt az
elemet értjük, mely nagyság szerint növekvő sorrendben az adott elem előtt állna.