0 Daumen
128 Aufrufe

Frage:

Knoten- und blattbeschriftete Bäume mit beliebigem Verzweigungsgrad, auch Rose Trees genannt, können durch die folgende Datenstruktur modelliert werden:


data Rose a = Rose a [Rose a]                                                                                                                                              deriving Show

1. Definieren Sie jeweils eine Instanz der Typklassen Eq und ord für Rose Trees, die sich so verhalten wie die Implementierung, die man mittels deriving (Eq, Ord) erhalten würde.
2. Definieren Sie eine Typklasse Pretty mit einer Funktion pretty : : a -> String zur Ausgabe von Werten eines beliebigen Datentyps als "schöner" String. Geben Sie dann eine Instanz der Typklasse Pretty für Rose Trees an, die den Baum wie folgt eingerückt darstellt. Dabei sollen die Elemente (hier: Zahlen) des Baums ebenfalls mit pretty in einen String übersetzt werden.


Code:

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community