Informatika gyűjtemény

Egy szinttel feljebb Megoldás

2004050607080910

NézetNyomtat

Algoritmus

A kérdés visszavezethető "gyökeres fák" izomorfiájára: ehhez meg kell keresni a fák közepét. Ezt úgy kapjuk meg, hogy ismételten elhagyjuk az összes elsőfokú pontot, amíg háromnál kevesebb csúcs nem marad. A fa közepe vagy egy csúcs, vagy két éllel összekötött csúcs. Ha két fa izomorf, akkor úgy is megadható köztük a hozzárendelés, hogy az egyik fa közepének (egyik) csúcsa, a másik fa közepének (egyik) csúcsához rendelhető.
A gyökeres fák izomorfiája úgy ellenőrizhető, hogy a gyökérből felrajzolva szintezzük a fát, és azt kell a levelektől a gyökér felé haladva megnézni, hogy minden szinten megfeleltethetők a két fa csúcsai egymásnak úgy, hogy a párosított csúcsokból induló részfák izomorfak. Erre az ellenőrzésre a csúcsok egy ügyes felcímkézése használható, ahol két csúcs címkéj pontosan akkor azonos, ha a belőlük induló részfák izomorfak.

Kód