Alla oleva AVL-puu on epätasapainossa viimeisen lisäyksen jälkeen (mallivastauksessa on tilat ennen lisäystä ja lisäyksen jälkeen). Tasapainota puu tekemällä rotaatio. Katso lisätietoa Ohje-sivulta.
Rotaatiot voi tehdä muokkaamalla kaaria, eli vetämällä kaari osoittamaan uuteen solmuun. Puu päivitetään vasta, kun Update References -painiketta painetaan. Päivitä puu vasta kun olet muuttanut kaikki rotaatiossa muuttuvat kaaret.
Visuaalisessa esityksessä ympyrä ja sen sisällä oleva kirjain vastaavat yksittäistä puun solmua eli tietuetta ja sen avainta. Kunkin solmun vieressä oleva numero kertoo kyseisen alipuun korkeuden. Mikäli puuhun muodostuu sykli (virheellisten) osoitinpäivitysten seurauksena, piirretään tällainen rakenne kolmiona.
Tehtävässä on käytetty C-kielestä tuttua notaatiota solmua vastaavan tietueen (node) kenttiin viittaamiseksi ("->"-operaattori). Voit olettaa, että binääripuun solmu on toteutettu seuraavanlaisena tietueena:
struct node {
char key;
struct node *left;
struct node *right;
};
struct node *p, *f;