gutes Framework um mit Graphentheorie zu experimentieren
-
Hallo,
ich lese gerade ein Buch über Graphentheorie. Ich möchte mit der Materie aber auch etwas experimentieren, da ich mir die Dinge dann besser vorstellen kann.
Was könnt ihr als "Spielwiese" empfehlen. Gibt es Frameworks, die einem dabei helfen (z.B. indem es bereits fertige Funktionen zum Zeichnen von Graphen gibt, sodass man sich auf das wesentliche konzentrieren kann).
Ich würde die Sprachen C++, Python, Matlab oder Java bevorzugen.Vielen Dank!
-
Wenn es um Baeume geht, lohnt sich Haskell sehr. Alleine dafuer kann man es schon lernen.
Ansonsten rate ich zu etwas mit garbage collector, weil du zyklische Abhaengigkeiten nicht mehr per Hand aufbrechen musst.
-
Ich empfehle Python: https://www.python.org/doc/essays/graphs/
DFS auf einem Graph hast du zwar in C++ auch in 10 Zeilen programmiert, aber es erfordert halt etwas Wissen, wie man auf Pointer verzichtet, sonst wird es sehr schnell sehr mühsam. Die Boost Graph Library ist typisches Beispiel für Overengineering.
Extra Haskell lernen nur um einen Baum zu schreiben finde ich Overkill. Interessant wird Haskell erst bei persistenten Datenstrukturen.
-
Vielleicht LEDA?
-
Für C++ gibt es OGDF (Open Graph Drawing Framework). Das verwende ich immer zusammen mit yed um mir eingaben zu bauen und ausgaben anzuschauen.
Für Java gibt es JUNG.Das Argument mit dem Garbage-Collector kann ich übrigens gar nicht nachvollziehen.
-
Danke für die Tipps!