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.
class Baum:
def __init__(self, element=None,childNodes=[]):
self.element = element
self.childNodes = childNodes
self.isEmpty = element is None
def groesse(self):
def enthaelt(self,elem):
def maxDepth(self):
def maxWidth(self):
def elemente(self):
def fringe(self):
def abbilden(self,f):
def longestPath(self):
def faltung(self,f,start):