ADT 31.07.2008

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

ADT 31.07.2008
Aufgabe 2; Ist das richtig? bitte fehler verbessern!

a) create, add, remove, removeAll

b)
A1: contains(x, create) = 0
A2: contains(x,add(y,M)) = {1+contains(y,M) falls x = y
{0 sonst

c)
A3: remove(x, create) = create
A4: remove(x,add(y,M)) = M

d)
A5: removeAll(x,create) = create
A6: removeAll(x,add(y,M)) = {M falls x!=y
{removeAll(x, M) sonst


Ich weiß zwar nicht wirklich was die Aufgabe war, aber wenn’s Standard-Aufgaben sind:


@Michi D.
Danke für die antwort!
weist du die sachen wo du ? hingemacht hast, oder rätst du auch?


Das sollten mehr Fragen an dich sein… Die sollten dich auf den Fehler stoßen.
Die Antworten hab ich dahinter geschrieben, damit du auch eine Lösung hast… :wink:
(die sollten auch so stimmen, denke ich - ich kenne die Aufgabe ja nicht, aber ADTs sind immer ziemlich ähnlich)

EDIT: so oben angepasst… hoffe jetzt ist es klarer


yo, Danke!


eigentlich ist es immer das selbe Schema:

Basisfall mit "leerer" Datenstruktur
Rekursiver Abstieg mit zusammengesetzter Datenstruktur { Fall 1 ## Fall 2

Der “rekursive” Teil sollte dann irgendwann immer auf den Basisfall treffen und fertig.
Wenn du mal nicht alle Teile dastehen hast, hast du i.d.R. was vergessen :wink:
(so hab ich’s mir immer gemerkt)


super Erklärung. DANKE!


sollte es nicht ehern so sein?


Natürlich. Das “0 +” vor dem contains(y, M) kann man sich eigentlich auch noch sparen.


oh sry, da hab ich mich vertippt… Ja, es muss mit nem x sein :wink: