Binääripuu esittää sellaista sukupuuta, jossa juurena on
"minä". Juuren alipuut ovat
"äiti" ja "isä", jne.
Puun määrittely alkaa seuraavasti:
public class Sukupuu {
private class Sukulainen {
private String nimi;
private int syntymävuosi;
private Sukulainen äiti, isä;
}
private Sukulainen juuri;
public Sukupuu() {
juuri = null;
}
...
Ohjelmoi luokkaan metodit
- public String kaukaisinEsivanhempi()
palauttaa arvonaan puun kaukaisimman sukulaisen nimen,
so. sen esivanhemman nimen, johon juuresta (so. "minusta")
on pisin polku. Jos vastaus ei ole yksikäsitteinen,
riittää palauttaa jonkin kaukaisimman sukulaisen nimi.
Arvioi operaation aikavaativuusluokka.
- public void tulostaPerinteisenNimenSaaneet()
tulostaa kaikki ne henkilöt, joilla on täsmälleen sama nimi
kuin edes yhdellä esivanhemmalla (tai vanhemmalla).
Henkilön tulostaminen tarkoittaa tässä nimen ja
syntymävuoden tulostamista.
Arvioi operaation aikavaativuusluokka.
(8 pistettä)