03.06.01. swap – Vorgehensweise

Binärbäume sind Bäume, in denen alle innenliegenden Knoten genau zwei Nachkommen haben. Die kleinsten Binärbäume bestehen aus genau einem Blatt. Blätter werden als leaf(Label) repräsentiert. leaf(3) und leaf(7) sind beispielsweise Blätter und dementsprechend kleine Binärbäume. Die zwei Binärbäume B1 und B2 können mit dem Funktor tree/2 zu einem Binärbaum zusammengefügt werden, der wie folgt aussieht: tree(B1,B2). Aus den Blättern leaf(1) undleaf(2) kann der Binärbaum tree(leaf(1),leaf(2)) gebaut werden. Aus den Binärbäumen tree(leaf(1),leaf(2)) und leaf(4) kann der Binärbaum tree(tree(leaf(1),leaf(2)),leaf(4)) gebaut werden.

Definieren Sie nun das Prädikat swap/2, das ein Spiegelbild des Binärbaumes, der ihm als erstes Argument übergeben wird, produziert. Zum Beispiel:

?- swap(tree(tree(leaf(1), leaf(2)), leaf(4)),T).
T = tree(leaf(4), tree(leaf(2), leaf(1))).

Quelle: http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse11

Wie sieht ein Baum mit nur einem Blatt aus?

Wie sieht dementsprechend der Basisfall für einen Baum mit nur einem Blatt in swap aus?

Noch keine Kommentare eingereicht. Bitte hilf uns diese Aufgabe zu verbessern.

Schreibe einen Kommentar