Package pi.dsa.graph

Class GraphEdge

java.lang.Object
pi.dsa.graph.GraphEdge

public class GraphEdge extends Object
Stellt eine Kante in einem Graphen dar.

Wird ein Graph über eine Adjazenz-Matrix oder -Liste implementiert, ist diese Klasse eigentlich nicht nötig. Beim Einfügen von Kanten in den Graphen wird momentan zusätzlich zu den oben beschriebenen Datenstrukturen auch ein Objekt dieser Klasse erzeugt. Dadurch entstehen Datendoppelungen. Jedoch wird das Zeichnen von Kanten durch diese Klasse vereinfacht.

Bei dieser Klasse handelt es sich um eine reine Datenklasse. Mithilfe der Klasse LabeledEdge kann eine Kante grafisch dargestellt werden.

Since:
0.36.0
Author:
Josef Friedrich
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Erzeugt eine ungerichtete Kante mit der Gewichtung von 1 durch Angabe des Startknotens und des Endknotens.
    GraphEdge(GraphNode from, GraphNode to, int weight)
    Erzeugt eine ungerichtete Kante durch Angabe des Startknotens, des Endknoten und der Gewichtung.
    GraphEdge(GraphNode from, GraphNode to, int weight, boolean directed)
    Erzeugt eine Kante durch Angabe des Startknotens, des Endknoten, der Gewichtung und der Information, ob die Kante gerichtet ist.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gibt dem Startknoten zurück.
    Exportiert die Kante, indem eine Zeichenkette generiert wird, die als Java-Code verwendet werden kann.
    boolean
    Gibt wahr zurück, falls die Kante gerichtet ist.
    to()
    Gibt dem Endknoten zurück.
    int
    Gibt die Gewichtung der Kante zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NOT_REACHABLE_WEIGHT

      public static int NOT_REACHABLE_WEIGHT
  • Constructor Details

    • GraphEdge

      public GraphEdge(GraphNode from, GraphNode to, int weight, boolean directed)
      Erzeugt eine Kante durch Angabe des Startknotens, des Endknoten, der Gewichtung und der Information, ob die Kante gerichtet ist.
      Parameters:
      from - Der Startknoten.
      to - Der Endknoten.
      weight - Die Gewichtung der Kante.
      directed - Wahr, falls die Kante gerichtet ist.
    • GraphEdge

      public GraphEdge(GraphNode from, GraphNode to, int weight)
      Erzeugt eine ungerichtete Kante durch Angabe des Startknotens, des Endknoten und der Gewichtung.
      Parameters:
      from - Der Startknoten.
      to - Der Endknoten.
      weight - Die Gewichtung der Kante.
      Since:
      0.37.0
    • GraphEdge

      public GraphEdge(GraphNode from, GraphNode to)
      Erzeugt eine ungerichtete Kante mit der Gewichtung von 1 durch Angabe des Startknotens und des Endknotens.
      Parameters:
      from - Der Startknoten.
      to - Der Endknoten.
      Since:
      0.37.0
  • Method Details

    • from

      @Getter public GraphNode from()
      Gibt dem Startknoten zurück.
      Returns:
      Der Startknoten.
    • to

      @Getter public GraphNode to()
      Gibt dem Endknoten zurück.
      Returns:
      Der Endknoten.
    • weight

      @Getter public int weight()
      Gibt die Gewichtung der Kante zurück.
      Returns:
      Die Gewichtung der Kante.
    • isDirected

      public boolean isDirected()
      Gibt wahr zurück, falls die Kante gerichtet ist.
      Returns:
      Wahr, falls die Kante gerichtet ist.
    • generateJavaCode

      public String generateJavaCode()
      Exportiert die Kante, indem eine Zeichenkette generiert wird, die als Java-Code verwendet werden kann.
      Since:
      0.37.0