Class BellmanFordMoore

java.lang.Object
  extended byAdjazenzliste
      extended byBellmanFordMoore

public class BellmanFordMoore
extends Adjazenzliste

Diese Klasse stellt den BellmanFordMoore Algorithmus zur Ermittlung kürzester Wege in Graphen auf Basis der Adjazenzliste zur Verfügung. Es stehen 2 Modis zur Verfügung. Der Step und der Startmodus. Der Stepmodus führt einen Schritt im Algorithmus aus. Dazu müssen sich bestimmte Eigenschaften gemerkt werden, wie z.B. wie der Heap aussieht.


Field Summary
 
Fields inherited from class Adjazenzliste
adlist
 
Constructor Summary
BellmanFordMoore()
          Konstruktor, der initiale Werte vergibt.
BellmanFordMoore(Adjazenzliste al)
          Konstruktor, der die Adjazenzliste mit der übergebenen Liste initialisiert.
 
Method Summary
 int getCompareCounter()
          Gibt zurück, wie viele Vergleiche der Algorithmus bisher benötigt hat.
 Heap getHeap()
          Methode, die den Zugriff auf den Heap ermöglicht.
 Node getLastInspectedNode()
          Gibt den zuletzt untersuchten Knoten zurück, dessen Kanten in dem Algorithmusschritt untersucht wurden.
 int[] getPredecessor()
          Methode, die die Vorgängerliste des Algorithmus zurückgibt, damit diese angezeigt werden kann.
 int getPredecessorLength()
          Methode, die die Länge des Vorgängerarrays zurückgibt.
 long getUsedTime()
          Gibt die verbrauchte Zeit in Millisekunden an, die der letzte Algorithmusschritt benötigt hat.
 boolean heapIsEmpty()
          Methode, die zurückgibt, ob der Heap (ein Objekt der Klasse Heap) leer ist.
 java.util.Vector shortestPath(GraphNode start, GraphNode end)
          Startet den Algorithmus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode).
 java.util.Vector shortestPath(Node start, Node end)
          Startet den Algorithmus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse Node).
 java.util.Vector startShortestPathStepModus(GraphNode start, GraphNode end)
          Startet den Algorithmus im Step Modus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode).
 java.util.Vector startShortestPathStepModus(Node start, Node end)
          Startet den Algorithmus im Step Modus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode).
 java.util.Vector stepShortestPath()
          Führt einen Schritt im Algorithmus aus.
 void updateAdjazenzliste(Adjazenzliste al)
          Methode, die die Adjazenzliste neu setzt.
 
Methods inherited from class Adjazenzliste
add, add, add, add, contains, contains, contains, contains, find, getAdlist, getCost, getEdgesWithTail, getEdgesWithTail, getMaxNodeNumber, getNodeVector, main, ordnung, readFrom, remove, remove, remove, size, sortEdgeList, sortEdgeList, sortEdgeLists, toHtml, toString, writeAsText, writeTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BellmanFordMoore

public BellmanFordMoore()
Konstruktor, der initiale Werte vergibt.


BellmanFordMoore

public BellmanFordMoore(Adjazenzliste al)
Konstruktor, der die Adjazenzliste mit der übergebenen Liste initialisiert.

Method Detail

heapIsEmpty

public boolean heapIsEmpty()
Methode, die zurückgibt, ob der Heap (ein Objekt der Klasse Heap) leer ist. Ergebnis ist true, wenn h leer ist und false sonst.


updateAdjazenzliste

public void updateAdjazenzliste(Adjazenzliste al)
Methode, die die Adjazenzliste neu setzt. Diese wird auf die übergebene Referenz gesetzt.


shortestPath

public java.util.Vector shortestPath(GraphNode start,
                                     GraphNode end)
Startet den Algorithmus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode). Dabei darf der Knoten end auch null sein. Der Startknoten darf nicht null sein. Das Ergebnis wäre in diesem Falle null.


shortestPath

public java.util.Vector shortestPath(Node start,
                                     Node end)
Startet den Algorithmus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse Node). Dabei darf der Knoten end auch null sein. Der Startknoten darf nicht null sein. Das Ergebnis wäre in diesem Falle null.


startShortestPathStepModus

public java.util.Vector startShortestPathStepModus(GraphNode start,
                                                   GraphNode end)
Startet den Algorithmus im Step Modus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode). Dabei darf der Knoten end auch null sein. Der Startknoten darf nicht null sein. Das Ergebnis wäre in diesem Falle null.


startShortestPathStepModus

public java.util.Vector startShortestPathStepModus(Node start,
                                                   Node end)
Startet den Algorithmus im Step Modus, für die Berechnung eines kürzesten Weges von dem Knoten start nach end (beides Objekte der Klasse GraphNode). Dabei darf der Knoten end auch null sein. Der Startknoten darf nicht null sein. Das Ergebnis wäre in diesem Falle null. Es wird nur die Initialisierung des Algorithmus ausgeführt.


getHeap

public Heap getHeap()
Methode, die den Zugriff auf den Heap ermöglicht.


getPredecessor

public int[] getPredecessor()
Methode, die die Vorgängerliste des Algorithmus zurückgibt, damit diese angezeigt werden kann.


getPredecessorLength

public int getPredecessorLength()
Methode, die die Länge des Vorgängerarrays zurückgibt.


getLastInspectedNode

public Node getLastInspectedNode()
Gibt den zuletzt untersuchten Knoten zurück, dessen Kanten in dem Algorithmusschritt untersucht wurden.


getUsedTime

public long getUsedTime()
Gibt die verbrauchte Zeit in Millisekunden an, die der letzte Algorithmusschritt benötigt hat. Dies kann der Ablauf des ganzen Algorithmus gewesen sein, oder aber ein einzelner Algorithmusschritt.


getCompareCounter

public int getCompareCounter()
Gibt zurück, wie viele Vergleiche der Algorithmus bisher benötigt hat.


stepShortestPath

public java.util.Vector stepShortestPath()
Führt einen Schritt im Algorithmus aus. Dabei werden die einzelnen Variablen, wie die Anzahl der Vergleiche oder die verbrauchte Zeit aktualisiert.