Graphenstrukturen

Status
Nicht offen für weitere Antworten.
M

Mike

Gast
Hallo,

kennt jemand eine Klasse in der Java-API, die eine Graphenstruktur bereitstellt, d.h. man kann Knoten einfügen, diese beliebig miteinander verbinden, den Kanten und Knoten Werte geben usw. . Es muss keine graphische Ausgabe existieren, nur die Datenstruktur ist wichtig.

Konnte in der API nichts finden, genauso wenig in Java-Büchern, ich kann natürlich versuchen, diese Datenstruktur selber zu schreiben, aber da ich das nur für eine Nebenaufgabe benötige, wäre der Aufwand etwas zu viel.

Oder kennt vielleicht jemand Ressources im Internet, die sich mit Datenstrukturen, speziell mit Graphen, beschäftigen? Konnte zwar ein paar Beispiele und ein paar Foren (englische) zu dem Thema finden, aber nirgendwo Java-Source-Code zu einer Graphenstruktur

Vielen Dank im voraus

Gruß Mike
 
B

Beni

Gast
Ich kenne keine Resourcen (was aber nichts zu bedeuten hat).

Aber Graphen kann man relativ doch darstellen?

Man kann sie z.B. als Matrix (boolean[][] matrix) darstellen: ist matrix[2][3] true hat es eine Kante von 2 nach 3, ansonsten nicht (gerichteter Graph).

Oder eine Node-Klasse mit einem java.util.Vector, was seine Nachbarn sind. (Dinge wie addNeighbour( Node node ) werden einfach an den Vector delegiert).

mfg Beni
 
M

mike

Gast
also, ich hab es mit einer Node-Klasse versucht. Habe meine Daten, die ich in der Graphendarstellung speichern will, nach Knoten durchsucht, dann die Knoten dem Graphen zugefügt. Im nächsten Schritt habe ich jeden Knoten nach seinen Vorgängern/Nachfolgern abgesucht und sie auch als Vector gespeichert.

D.h. mein Knoten hatte hiermit drei Eigenschaften : String name, Vector nachfolger, Vector vorgänger

Nachdem ich angefangen habe, mit meiner selbst erstellten Datenstruktur zu arbeiten, habe ich gemerkt, obwohl ich die Vorgänger/Nachfolger als Knoten, die ihrerseits weitere Vorgänger und Nachfolger haben, gespeichert habe, die ganze Datenstruktur irgendwie nicht funktioniert. Wenig später habe ich auch den Grund gefunden: zu der Zeit, wo ich für einen Knoten seine Vorgänger/Nachfolger speichere, sind für die gespeicherten Knoten noch keine Vorgänger/Nachfolger definiert. Das bedeutet, ich finde zwar für jeden Knoten seine unmittelbaren Nachbarn, aber die Graphenstruktur als ein Ganzes habe ich dann trotzdem nicht.

Da bin ich nun steckengeblieben. Ich denke, ich könnte die Graphenstruktur schreiben, aber mit viel Aufwand, was ich aber möglichst vermeiden will, da ich den Graphen ja nur ganz kurz in meinem Programm brauche

Gruß mike
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben