/****************************************************************/
/* Prof. Dr. Carsten Vogt                                       */
/* FH Koeln, Fak. 07 / Nachrichtentechnik                       */
/* http://www.nt.fh-koeln.de/vogt                               */
/*                                                              */
/* In dieser Datei wird eine Klasse zur Definition von Knoten   */
/* eines Graphen definiert.                                     */
/*                                                              */
/****************************************************************/

class Graphknoten {

 Object knotenMarkierung;    // "Markierung" = Wert des Knotens: kann jedes beliebige Objekt sein

 Graphknoten[] nachbarn;     // Feld mit den Kanten, die von diesem Knoten ausgehen;
                             // es definiert diese Kanten als Verweise
                             //  auf die entsprechenden Nachbarknoten.

 Object[] kantenMarkierung;  // Feld mit den zugehoerigen Kantenmarkierungen;
                             // die Markierung kantenMarkierung[i] gehört zur Kante nachbarn[i].

}

class Graphknoten_generisch<V,E> {

 V knotenMarkierung;         // "Markierung" = Wert des Knotens: muss ein Objekt der Klasse V sein

 Graphknoten_generisch<V,E>[] nachbarn;
                             // Feld mit den Kanten, die von diesem Knoten ausgehen;
                             // es definiert diese Kanten als Verweise
                             //  auf die entsprechenden Nachbarknoten.

 E[] kantenMarkierung;       // Feld mit den zugehörigen Kantenmarkierungen,
                             //  die Objekte der Klasse E sein müssen;
                             // die Markierung kantenMarkierung[i] gehört zur Kante nachbarn[i].

}






