Package directedGraph

Schnittstelle DirectedGraph<V>

Typparameter:
V - Knotentyp.
Alle bekannten Implementierungsklassen:
AdjacencyListDirectedGraph

public interface DirectedGraph<V>
Graph mit gerichteten Kanten. Mit g.addEdge(v,w, weight) wird eine gerichtete Kante von v nach w mit dem Gewicht weight einfügt. Falls kein Gewicht angegeben wird, dann ist das Gewichte implizit auf 1 gesetzt. Der Graph einthält keine Mehrfachkanten.
Seit:
22.03.2018
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    boolean
    addEdge(V v, V w)
    Fügt neue Kante (mit Gewicht 1) zum Graph dazu.
    boolean
    addEdge(V v, V w, double weight)
    Fügt neue Kante mit Gewicht weight zum Graph dazu.
    boolean
    Fügt neuen Knoten zum Graph dazu.
    boolean
    containsEdge(V v, V w)
    Prüft ob Kante im Graph vorhanden ist.
    boolean
    Prüft ob Knoten v im Graph vorhanden ist.
    int
    Liefert Eingangsgrad des Knotens v zurück.
    int
    Liefert Anzahl der Kanten im Graph zurück.
    int
    Liefert Anzahl der Knoten im Graph zurück.
    int
    Liefert Ausgangsgrad des Knotens v zurück.
    Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Vorgängerknoten von v zurück.
    Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachfolgerknoten von v zurück.
    Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.
    double
    getWeight(V v, V w)
    Liefert Gewicht der Kante zurück.
    Erzeugt einen invertierten Graphen, indem jede Kante dieses Graphens in umgekehrter Richtung abgespeichert wird.
  • Methodendetails

    • addVertex

      boolean addVertex(V v)
      Fügt neuen Knoten zum Graph dazu.
      Parameter:
      v - Knoten
      Gibt zurück:
      true, falls Knoten noch nicht vorhanden war.
    • addEdge

      boolean addEdge(V v, V w)
      Fügt neue Kante (mit Gewicht 1) zum Graph dazu. Falls einer der beiden Knoten noch nicht im Graphen vorhanden ist, dann wird er dazugefügt. Falls die Kante schon vorhanden ist, dann wird das Gewicht mit 1 überschrieben.
      Parameter:
      v - Startknoten
      w - Zielknoten
      Gibt zurück:
      true, falls Kante noch nicht vorhanden war.
    • addEdge

      boolean addEdge(V v, V w, double weight)
      Fügt neue Kante mit Gewicht weight zum Graph dazu. Falls einer der beiden Knoten noch nicht im Graphen vorhanden ist, dann wird er dazugefügt. Falls die Kante schon vorhanden ist, dann wird das Gewicht mit weight überschrieben.
      Parameter:
      v - Startknoten
      w - Zielknoten
      weight - Gewicht
      Gibt zurück:
      true, falls Kante noch nicht vorhanden war.
    • containsVertex

      boolean containsVertex(V v)
      Prüft ob Knoten v im Graph vorhanden ist.
      Parameter:
      v - Knoten
      Gibt zurück:
      true, falls Knoten vorhanden ist.
    • containsEdge

      boolean containsEdge(V v, V w)
      Prüft ob Kante im Graph vorhanden ist.
      Parameter:
      v - Startknoten
      w - Endknoten
      Gibt zurück:
      true, falls Kante vorhanden ist.
    • getWeight

      double getWeight(V v, V w)
      Liefert Gewicht der Kante zurück.
      Parameter:
      v - Startknoten
      w - Endknoten
      Gibt zurück:
      Gewicht der Kante.
      Löst aus:
      IllegalArgumentException - falls die Kante nicht existiert.
    • getNumberOfVertexes

      int getNumberOfVertexes()
      Liefert Anzahl der Knoten im Graph zurück.
      Gibt zurück:
      Knotenzahl.
    • getNumberOfEdges

      int getNumberOfEdges()
      Liefert Anzahl der Kanten im Graph zurück.
      Gibt zurück:
      Kantenzahl.
    • getVertexSet

      Set<V> getVertexSet()
      Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Knoten im Graph zurück.
      Gibt zurück:
      Knotenmenge
    • getInDegree

      int getInDegree(V v)
      Liefert Eingangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Zielknoten v.
      Parameter:
      v - Knoten
      Gibt zurück:
      Knoteneingangsgrad
      Löst aus:
      IllegalArgumentException - falls Knoten v nicht im Graph vorhanden ist.
    • getOutDegree

      int getOutDegree(V v)
      Liefert Ausgangsgrad des Knotens v zurück. Das ist die Anzahl der Kanten mit Quellknoten v.
      Parameter:
      v - Knoten
      Gibt zurück:
      Knotenausgangsgrad
      Löst aus:
      IllegalArgumentException - falls Knoten v nicht im Graph vorhanden ist.
    • getPredecessorVertexSet

      Set<V> getPredecessorVertexSet(V v)
      Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Vorgängerknoten von v zurück. Das sind alle die Knoten, von denen eine Kante zu v führt.
      Parameter:
      v - Knoten
      Gibt zurück:
      Knotenmenge
      Löst aus:
      IllegalArgumentException - falls Knoten v nicht im Graph vorhanden ist.
    • getSuccessorVertexSet

      Set<V> getSuccessorVertexSet(V v)
      Liefert eine nicht modifizierbare Sicht (unmodifiable view) auf die Menge aller Nachfolgerknoten von v zurück. Das sind alle die Knoten, zu denen eine Kante von v führt.
      Parameter:
      v - Knoten
      Gibt zurück:
      Knotenmenge
      Löst aus:
      IllegalArgumentException - falls Knoten v nicht im Graph vorhanden ist.
    • invert

      DirectedGraph<V> invert()
      Erzeugt einen invertierten Graphen, indem jede Kante dieses Graphens in umgekehrter Richtung abgespeichert wird.
      Gibt zurück:
      invertierter Graph