Gegeben sei die Klasse für eine allgemeine Baumstruktur in Python.
Schreiben Sie die folgenden Mehtoden für diese Klasse.
- def groesse(self): Die Elemente, die in einem Baum enthalten sind, werden gezählt.
- def enthaelt(self,elem): Es wird getestet, ob ein bestimmtes Element im Baum gespeichert ist.
- def maxDepth(self): Die maximale Baumtiefe wird berechnet.
- def maxWidth(self): Die maximale Anzahl der Kinder der Knoten innerhalb eines Baumes wird berechnet.
- def elemente(self): Eine Funktion, die eine Liste aller im Baum gespeicherten Elemente Erzeugt. Die Elemente seien in Präorder sortiert.
- def fringe(self): Die Liste aller Blattelemente eines Baumes.
- def abbilden(self,f): Ein neuer Baum entsteht, indem ein Funktionsparameter auf jedes Element des Baumes angewendet wird.
- def longestPath(self): Die Liste der Elemente auf dem längsten Pfad im Baum wird berechnet. Gibt es mehrere gleichlange Pfade ist der linkeste zu nehmen.
- def faltung(self,f,start): Alle Elemente eines Baumes werden mit Hilfe einer Operatorfunktion in Präorder auf ein Startelement aufgerechnet.