Datorsystem EIP
Två träduppgifter

maxDepth()

Utöka klassen Tree1 med en metod int maxDepth() som returnerar det maximala djupet (avståndet mellan rot och löv) i trädet.

Metoden ska skrivas rekursivt och på ett meningsfyllt sätt utnyttja de redan givna metoderna (primitiverna). Metoden ska vara ett gott exempel på ett rekursivt program.

Tips: Du behöver inte importera Node1.java till denna uppgift.

pre()

Utöka klassen Tree1 med en metod Node1 pre() som returnerar en lista med samma element som det anropade trädet i den ordning de ges av en preordertraversering.

Metoden ska skrivas rekursivt och på ett meningsfyllt sätt utnyttja de redan givna metoderna (primitiverna). Metoden ska vara ett gott exempel på ett rekursivt program.

Tips: Utöka klassen Node1, så att den även innehåller en metod som "sätter ihop" två listor. Även denna metod, som ska vara ett gott exempel på rekursiva program, ska redovisas.

Anvisningar Skriv ett enkelt huvudprogram som visar att dina nya metoder fungerar. Använd samma testdata för båda metoderna.

Redovisas med länk på web-sidan, tidpunkt enligt schemat.

Redovisnigen ska bestå av en kort beskrivning av programmet samt programkod. För det rekursiva programmet ska även fallanalys bifogas.


Anders Berglund
Last modified: Mon Oct 4 17:40:35 MET DST 1999