Algoritmus
Először felépítünk egy élistát a Prüfer-kód alapján, majd minden csúcsból kiszámoljuk a tőle
legtávolabbi pont távolságát, és ezen értékek maximumaként kapjuk az átmérőt.
Éllista felépítése a Prüfer-kód alapján
Egyesével végigmegyünk a kód elemein. Kezdetben egy H halmazban tároljuk
azokat a csúcsokat, melyek nem szerepelnek a kódban. (Ilyen biztos létezik, mert a kód kettővel
rövidebb, mint a csúcsok száma.) Egy lépésben H legkisebb eleme, és a kód következő elemének megfelelő csúcs között húzunk be élet, majd a legkisebb elemet töröljük a halmazból, és a kódnak töröljük az első elemét.
Ezután H-t újraszámoljuk, de olyat már nem rakunk be, amit egyszer kivettünk.
A kód végigolvasása során $N-2$ élet behúzunk, végül az N címkéjű csúcsot
is a kód utolsó elemének megfelelő csúccsal kötjük össze.
Átmérő meghatározása éllista alapján
Minden pontból mélységi bejárást csinálunk, amiben visszaadjuk a mélységet, így megkapjuk
az adott ponttól legtávolabbi pont távolságát. Az összes mélység közül a legnagyobb
kell.
Kódok