Példa kettő-három fa felépítésére - törlés művelet Készítette : Krizsai Petra
Feladat ● Egy kettő-három fa levelein az alábbi értékek találhatók: (((10,15),(20,24,27),(30,33)),((41,46),(52,57 ))). A zárójelezés a fa felépítését mutatja. Ábrázoljuk a fát a belső pontokban található kulcsok kitöltésével! Ezután töröljük ki a fából a 46-ot, és adjuk meg az így kialakult kettő-három fát.
Egy csúcsból mutató pointerek 3 gyerek esetén ● Felfele nyíl : szülőre mutató pointer, szükséges lesz a törlés művelethez ● Lefele nyilak : az egyes részfákra mutató pointerek k1k2 k < k1k1≤k<k2 k2 ≤ k k1 k2
Egy csúcsból mutató pointerek 2 gyerek esetén ● Szükséges a szülőre ill. a bal- és jobbgyerekre mutató pointer k1 k < k1 k1 ≤ k k1
Az így ábrázolt fa
Töröljük ki a fából a 46-ot
A 46-ot eltávolítjuk
A 41-nek nincs szülője...
A 41-et összevonjuk az 52-vel és az 57-tel
Az 52-nek csak egy gyereke van
De szerencsére az 52 testvérének van 3 gyereke, ezért az egyet átad
Íme...
Az 52 címkéje nem stimmel
Átírjuk
Most a gyökér címkéje nem jó
A megfelelő a 30 lenne
Az eredményül kapott fa
Vége