Forum: PC-Programmierung Rekursive Funktion, die jede Beziehung darstellt


von Nostrifizius in der Satrapenwirtschaft (Gast)


Lesenswert?

Es sei ein Array gegeben. Dieses enthalte etwa

a;b
a;c
a;d
c;h
d;h
d;g

Wie muß eine rekursive Funktion aussehen, was ihr übergeben werden, 
damit jede Beziehung dargestellt ist. Damit ist gemeint:

Beispiel oben, Auszug.

a = f(c)
c = f(h)

Daraus folgt

a = f(h).

Also soll der Liste nun

a;h zugefügt werden, sodaß sie so aussieht:

a;b
a;c
a;d
c;h
d;h
d;g
a;h

Und das soll mit allen Elementen passieren. Rekursiv auch insofern, daß, 
sobald ein h;x vorhanden ist, auch die Beziehung a;x zugefügt wird.

Danke im Voraus für gute Antworten

PS: Leider muß ich einige von euch enttäuschen, das ist weder eine 
Hausaufgabe noch Geschäftliches. Die, die so denken sollen sich lieber 
mit der Fragestellung selbst auseinandersetzen.

von tra-tri-troll (Gast)


Lesenswert?


von Yalu X. (yalu) (Moderator)


Lesenswert?

Wenn ich dich richtig verstanden habe, möchtest du die transitive Hülle
der Relation x;y berechnen. Hier ist etwas zum Lesen:

  http://de.wikipedia.org/wiki/Transitive_H%C3%BClle
  http://de.wikipedia.org/wiki/Algorithmus_von_Floyd_und_Warshall

von Nostrifizius in der Satrapenwirtschaft (Gast)


Lesenswert?

Yalu, du scheinst das studiert zu haben. Die transitive Hülle ist genau 
das, was ich suche.

Ich versuche mich daran, würde mich aber auch freuen, wenn jemand das 
auf meinen Fall anwenden kann - in Pseudocode oder VB.

von U.R. Schmitt (Gast)


Lesenswert?

Nostrifizius in der Satrapenwirtschaft schrieb:
> PS: Leider muß ich einige von euch enttäuschen, das ist weder eine
> Hausaufgabe noch Geschäftliches. Die, die so denken sollen sich lieber
> mit der Fragestellung selbst auseinandersetzen.
Was denn sonst?

Nostrifizius in der Satrapenwirtschaft schrieb:
> Ich versuche mich daran, würde mich aber auch freuen, wenn jemand das
> auf meinen Fall anwenden kann - in Pseudocode oder VB.
Hast du doch schon, ist doch alles ganz klar in den Links von Yalu 
beschrieben.
Inclusive Codeschnipsel.

Bist du jetzt nicht in der Lage oder zu faul den Code im Link in VB zu 
portieren und anzuwenden?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Nostrifizius in der Satrapenwirtschaft schrieb:
> Ich versuche mich daran,

Richtig so!

> würde mich aber auch freuen, wenn jemand das auf meinen Fall anwenden
> kann - in Pseudocode oder VB.

Falls dein Versuch von oben trotz aller mühen erfolglos bleiben sollte,
kannst du ja den bis dahin erarbeiteten Code hier posten. Wenn es schon
einmal etwas zum Anschauen gibt, sind die Leute sicher auch bereit, dir
bei der Fehlersuche zu helfen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.