Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Bináris kereső fák Itterátorok. Hierarchikus Adatszerkezetek A hierarchikus adatszerkezet olyan rendezett pár, amelynél van egy kitüntetett r ∈ A gyökérelem.

Hasonló előadás


Az előadások a következő témára: "Bináris kereső fák Itterátorok. Hierarchikus Adatszerkezetek A hierarchikus adatszerkezet olyan rendezett pár, amelynél van egy kitüntetett r ∈ A gyökérelem."— Előadás másolata:

1 Bináris kereső fák Itterátorok

2 Hierarchikus Adatszerkezetek A hierarchikus adatszerkezet olyan rendezett pár, amelynél van egy kitüntetett r ∈ A gyökérelem úgy, hogy: 1. r nem lehet végpont, azaz ∀ a ∈ A esetén ¬ R(a,r) 2. ∀ a ∈ {A\{r}} elem egyszer és csak egyszer lehet végpont, azaz ∀ a ∈ {A\{r}}-hez ∃ ! b ≠ a, b ∈ A: R(b,a) 3. ∀ a ∈ {A\{r}} elem r-ből elérhető, azaz ∃ a1, a2,… an ∈ A, an = a : R(r,a1), R(a1, a2) … R(an-1, an)

3 Bináris keresőfa Elem levél Elem levél Rendezési (kereső) fa Elemek értékei különböznek Elemek között rendezési reláció Minden elemére igaz: Csúcs értéke nagyobb, mint a tőle balra lévőnek Csúcs értéke kisebb, mint a tőle jobb elem értéke N csúcsú fa bejárási ideje:O(N)

4 Bináris keresőfa Elem levél Elem levél Műveletek: Keresés(rekurzívan) Minimum / maximum keresés Rákövetkező elem keresése Megelőző elem keresése Beszúrás Törlés Bejárások

5 Bináris keresőfába beszúr 4 gyökér 4, 7, 9, 5, 2, 1, 3,

6 Bináris keresőfából töröl A T bináris keresőfából a p csúcsot töröljük. Lehetőségek: 1) p-nek még nincs gyereke: szülőjének mutatóját NIL-re állítjuk 2) p-nek egy gyereke van: a szülője és a gyermeke között építünk ki kapcsolatot 3) p-nek két gyereke van: átszervezzük a fát: kivágjuk azt a legközelebbi rákövetkezőjét, aminek nincs balgyereke, így I., vagy II. típusú törlés, majd ennek tartalmát beírjuk p-be.

7 Bináris keresőfából töröl 4 gyökér , p-nek még nincs gyereke: szülőjének mutatóját NIL-re állítjuk Töröljük az 1-es értékű elemet! 0

8 Bináris keresőfából töröl 4 gyökér , p-nek egy gyereke van: a szülője és a gyermeke között építünk ki kapcsolatot Törölöljük: 2-es értékű csúcsot! 0

9 Bináris keresőfából töröl 4 gyökér , p-nek két gyereke van: átszervezzük a fát: kivágjuk azt a legközelebbi rákövetkezőjét, aminek nincs balgyereke, így I., vagy II. típusú törlés, majd ennek tartalmát beírjuk p-be. Törölöljük: 4-es értékű csúcsot!

10 Bináris keresőfa Elem levél Elem levél Műveletek: Keresés(rekurzívan) Minimum / maximum keresés Rákövetkező elem keresése Megelőző elem keresése Beszúrás Törlés Bejárások Infix /Postfix/Prefix

11 Bináris keresőfa bejárás 4 gyökér 1,2,3,4,5,6,7, Inorder bejárás (bal-gyökér- jobb)

12 Bináris keresőfa bejárás 4 gyökér 1,3,2,6,5,9,7, Postorder bejárás (bal-jobb-gyökér)

13 Bináris keresőfa bejárás 4 gyökér 4,2,1,3,7,5,6, Preorder bejárás (gyökér-bal-jobb)

14 adat Elem osztály Bal gyerek Fa Elem: Jobb gyerek szülő A fa osztályban is nagyon fontos szerepet játszik az elem osztály: Az ábrán látható adattagokon kívül sok műveelet is a része, hogy rekurzív lehessen!

15 Feladat:  Nyissuk meg a wikin található projektet  Nézzük meg hogyan működik benne a fa  Írjuk meg a törlés műveletet (el van kezdve kommentben, hogy tuti ne hagyjunk ki semmilyen lehetőséget, csak be kell helyettesíteni az előbbi diák alapján hogy mikor mit csináljon)

16 Iterátorok  A fa szépen működik, de nem tudjuk hogy néz ki! Teljesen el van rejtve az implementáció, ami jó, mivel így nem tudunk illetéktelenül belenyúlni, de nem tudjuk tanulmányozni sem->  Szükségünk van 1 eszközre, amivel hierarchikus adatszerkezeteket tudunk bejárni!  Ez az iterátor!

17 Iterátorok  Ennek a tárgynak a keretben 2 féle iterátorral találkozunk:  Beépített iterátor:pl: act a múlt órán  Iterátor osztály: ez jön most…  Példányosítható „kívülről” is!  Szabadon tudunk vele mozogni

18 Feladat:  A projektunk Fa osztályában tanulmányozzuk az iterátor osztály működését  Írjuk meg a következő fügvényeket: (kivételkezelésesel)  Void Ertek(T) – ertek betetele a mutatott elembe  Mozgato muveletek szulore, es jobbbgyerekre  Maximum kereses  Tetszoleges elem keresese

19 Házi feladat  Egészítsük ki a proejektet a következőképp:  << operátor, ami 3 sorban kiirja a 3 bejárást  Kovetkezo, es elozo műveletek az iterátoroknak, ami ha van ilyen elem akkor oda állítja őket  Menü: Amivel minden művelet meghívhato ami látszik a main-ből Mindig megjeleníti az aktuális állapotot (<<) Kivétel kezelést megoldja (ha pl.: nem létező elemet törölnénk akkor azt latjuk a képernyőn, és fut tovább a program, nem szál el)


Letölteni ppt "Bináris kereső fák Itterátorok. Hierarchikus Adatszerkezetek A hierarchikus adatszerkezet olyan rendezett pár, amelynél van egy kitüntetett r ∈ A gyökérelem."

Hasonló előadás


Google Hirdetések