Class Edge

java.lang.Object
  extended byEdge
All Implemented Interfaces:
java.lang.Comparable, java.io.Serializable

public class Edge
extends java.lang.Object
implements java.lang.Comparable, java.io.Serializable

Mit Hilfe dieser Klasse kann ein Objekt vom Typ Edge (Kante) erzeugt werden. Diese Kante soll eine Kante in einem greichteten Graphen darstellen, die mit Kosten "cost"s versehen ist. Die Kante hat die Richtung von "tail" nach "head". Die Kosten werden als Integer- Wert angeben. Auf tail, head und cost kann direkt zugegriffen werden. Das kann u.a. Performace Steigerungen zur Folge haben (im Vergleich zu dem Weg über getTail() und getHead() und setTail()...)

See Also:
Serialized Form

Field Summary
 int cost
           
 Node head
           
 Node tail
           
 
Constructor Summary
Edge()
          Konstruktor, der eine Kante erstellt, der noch keine Knoten zugewiesen wurde, bzw. die zugewiesenen Knoten den Wert -1 haben.
Edge(int ntail, int nhead)
          Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt.
Edge(int ntail, int nhead, int c)
          Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt.
Edge(Node ntail, Node nhead)
          Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt.
Edge(Node ntail, Node nhead, int c)
          Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt.
 
Method Summary
 int compareTo(Edge e)
          Vergleicht zwei Kanten miteinander.
 int compareTo(java.lang.Object edge)
          Vergleicht zwei Kanten miteinander (siehe compareTo(Edge e)).
 boolean equal(Edge e)
          Vergleicht die übergebene Kante mit der aktuellen Kante.
 boolean equal(Node ntail, Node nhead, int c)
          Vergleicht die übergebene Kante, die durch die Knoten ntail und nhead sowie den Kosten c dargestellt werden, mit der aktuellen Kante.
 int getCost()
          Gibt die Kosten einer Kante zurück.
 Node getHead()
          Gibt den Head Knoten wieder.
 int getHeadValue()
          Mit dieser Methode wird der Wert, bzw. der Name des Head Knotens zurückgegeben.
 Node getTail()
          Gibt den Tail Knoten wieder.
 int getTailValue()
          Gibt den Tail Knotenwert zurück.
 boolean hasNode(int n)
          Prüft, ob Head oder Tail gleich dem Knotenwert n sind.
 boolean hasNode(Node n)
          Prüft, ob Tail oder Head gleich dem Knoten sind.
 java.lang.String headCost2String()
          Erzeugt einen String, der den Head Konten und die Kosten ausgibt.
static void main(java.lang.String[] args)
          Methode, die die Allgemeinen Funktionen testet und demonstriert.
 void setCost(int value)
          Setzt die Kosten der Kante.
 java.lang.String toString()
          Erzeugt einen String, der die Kante graphisch darstellen soll.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

head

public Node head

tail

public Node tail

cost

public int cost
Constructor Detail

Edge

public Edge()
Konstruktor, der eine Kante erstellt, der noch keine Knoten zugewiesen wurde, bzw. die zugewiesenen Knoten den Wert -1 haben. Die Kosten für diese Kante werden auf 0 gesetzt.


Edge

public Edge(int ntail,
            int nhead)
Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt. Die Kante ist also eine gerichtete Kante, die von ntail nach nhead gerichtet ist. Die Kosten für diese Kante werden auf 0 gesetzt. Es wird also im Konstruktor zunächst ein Konten tail und ein Head mit den übergebenen Integer Werten erstellt.


Edge

public Edge(Node ntail,
            Node nhead)
Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt. Die Kante ist also eine gerichtete Kante, die von ntail nach nhead gerichtet ist. Die Kosten für diese Kante werden auf 0 gesetzt.


Edge

public Edge(int ntail,
            int nhead,
            int c)
Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt. Die Kante ist also eine gerichtete Kante, die von ntail nach nhead gerichtet ist. Die Kosten für diese Kante werden auf den übergebenen Wert c gesetzt. Es werden die Knoten tail und head mit den übergebenen Parametern erzeugt.


Edge

public Edge(Node ntail,
            Node nhead,
            int c)
Konstruktor, der eine Kante mit dem Startknoten ntail und den Zielknoten nhead erstellt. Die Kante ist also eine gerichtete Kante, die von ntail nach nhead gerichtet ist. Die Kosten für diese Kante werden auf den übergebenen Wert c gesetzt.

Method Detail

equal

public boolean equal(Node ntail,
                     Node nhead,
                     int c)
Vergleicht die übergebene Kante, die durch die Knoten ntail und nhead sowie den Kosten c dargestellt werden, mit der aktuellen Kante. Stimmen diese überein, so wird true zurückgegeben.


equal

public boolean equal(Edge e)
Vergleicht die übergebene Kante mit der aktuellen Kante. Stimmen diese überein, so wird true zurückgegeben.


getHead

public Node getHead()
Gibt den Head Knoten wieder. (Ziel) Dieser Knoten kann auch über die Klassenvariabeln head erreicht werden.


getHeadValue

public int getHeadValue()
Mit dieser Methode wird der Wert, bzw. der Name des Head Knotens zurückgegeben.


getTail

public Node getTail()
Gibt den Tail Knoten wieder. (Quelle) Dieser Knoten kann auch über die Klassenvariabeln Tail erreicht werden.


getCost

public int getCost()
Gibt die Kosten einer Kante zurück.


compareTo

public int compareTo(Edge e)
Vergleicht zwei Kanten miteinander. Dies ist nützlich z.B. zum Sortieren innerhalb einer Tabelle.

compareTo

public int compareTo(java.lang.Object edge)
Vergleicht zwei Kanten miteinander (siehe compareTo(Edge e)). Das übergebene Object muss in die Klasse Edge wandelbar sein.

Specified by:
compareTo in interface java.lang.Comparable

setCost

public void setCost(int value)
Setzt die Kosten der Kante.


getTailValue

public int getTailValue()
Gibt den Tail Knotenwert zurück.


hasNode

public boolean hasNode(Node n)
Prüft, ob Tail oder Head gleich dem Knoten sind.


hasNode

public boolean hasNode(int n)
Prüft, ob Head oder Tail gleich dem Knotenwert n sind.


toString

public java.lang.String toString()
Erzeugt einen String, der die Kante graphisch darstellen soll. Die Ausgabe kann z.B. so aussehen
2 -(3)-> 4
für eine Kante von 2 nach 4 mit den Kosten 3.


headCost2String

public java.lang.String headCost2String()
Erzeugt einen String, der den Head Konten und die Kosten ausgibt.


main

public static void main(java.lang.String[] args)
Methode, die die Allgemeinen Funktionen testet und demonstriert.