# Modellierung eines graphentheoretischen Problems



## Gast (7. Mai 2007)

Hallo,

ich habe folgendes Modellierungsproblem:
ich habe 2 Orte, zwischen denen sich ein Weg befindet, der eine bestimmte Länge hat:

Ort A ----- 200 m ----- Ort B

Der Weg ist in beide Richtungen gleich lang, egal, ob ich von A nach B gehe oder von B nach A.

Insgesamt sind es natürlich ganz viele Orte mit vielen verschiedenen Wegen dazwischen.

Wie modelliere ich diesen Sachverhalt? Ich denke ich habe auf jeden Fall eine Klasse "Ort", die sich selbst referenziert. Aber wie bringe ich den Weg unter?


----------



## Wildcard (7. Mai 2007)

In einem Graph gibt es  Nodes und Edges.
In deinem Fall handelt es sich um einen gewichteten Graph, die Edges speichern also die Entfernung zwischen 2 Nodes.


----------



## Gast (7. Mai 2007)

Also habe ich z. B. noch eine Klasse "Weg" mit den Attributen
- Startort
- Endort
- Weglänge

Und in Startort speichere ich z. B. die ID eines Ortes, die auch in der Klasse "Ort" z. B. als Attribut OrtsID steht.

Richtig?


----------



## Wildcard (7. Mai 2007)

Ein Weg ist erstmal losgelöst vom Graph. Der hat Knoten und Kanten.
Ein Weg ist eine Menge an Kanten.
Warum willst du irgendwelche IDs speichern?
Java ist keine relationale Datenbank sondern eine OOP-Sprache.


----------



## Gast (7. Mai 2007)

Ich meinte mit dem Begriff "Weg" für die Klasse eine einzige Kante. War etwas ungünstig gewählt.

Also meine Frage: Wie sage ich der Kante, zwischen welchen Knoten sie sich befindet? Da sowohl die Kante Attribute hat als auch die Knoten, dachte ich, ich schreibe dafür jeweils eine Klasse. Aber trotzdem muss ich ja irgendwie definieren, wie beides zusammenhängt.


----------



## Wildcard (7. Mai 2007)

Je nachdem, bei einem gerichteten Graph hat jede Edge eine Source und einen Sink, bei einem ungerichteten hast du eben einfach jeweils eine Referenzen auf zwei Nodes.


----------

