graph: Eine generische Go-Library zum Erstellen von Graph-Datenstrukturen

dominik

Aktives Mitglied
Hi,

dominikbraun/graph ist eine generische Go-Library, mit der man Graph-Datenstrukturen erstellen und anschließend Operationen auf diesen Graphen ausführen kann. Es werden verschiedenste Graphtypen unterstützt - gerichtet, ungerichtet, azyklisch, rooted, gewichtet, Bäume, connected, disconnected - nur Multigraphen werden nicht unterstützt.

1656667744064.png

Seit März diesen Jahres stehen in Go auch Generics zur Verfügung, womit es möglich wird, jeden Typen als Knoten im Graphen zu verwenden. Die Library ist noch WIP, aber man kann schon einiges machen.

Die Implementierung der Priority Queue zur Shortest-Path-Ermittlung muss noch optimiert werden, und nicht erreichbare Zielknoten bei der Pfadsuche sind noch ein Problem. Ansonsten ist das Fundament schon ziemlich gut.

Viele Grüße
Dominik
 
Zurück
Oben Unten