Class Graph

java.lang.Object
  |
  +--Graph
Direct Known Subclasses:
UnorderedGraph

public class Graph
extends java.lang.Object

Classe di implementazione di grafi orientati, con archi pesati. Le etichette dei veritci sono caratteri.
Il grafo è rappresentato con liste di adiacenza.


Inner Class Summary
protected  class Graph.AdjList
          Classe degli elementi delle liste di adiacenza
protected  class Graph.Edge
          Classe degli archi
protected  class Graph.ListIterator
          Classe degli iteratori sulle liste di adiacenza
protected  class Graph.Vertex
          Classe che rappresenta i vertici del grafo
 
Field Summary
protected  java.util.Vector vertices
           
 
Constructor Summary
Graph()
           
 
Method Summary
 void addArc(char labelsource, char labeldes)
          aggiunge l'arco di (labelsource,labeldes) di peso 1
 void addArc(char labelsource, char labeldes, int weight)
          aggiunge l'arco (labelsource, labeldes) di peso weight; se l'arco (labelsource, labeldes) già esiste, ne aggiorna il peso
 int addVertex(char label_of_vertex)
          aggiunge un vertice di etichetta label_of_vertex se il grafo non ha vertici con questa etichetta
 int cardVertexes()
           
protected  Graph.AdjList ordInsert(int i, int w, Graph.AdjList l)
          inserimento ordinato per indice sulla lista degli adiacenti con sovrascrittura del peso in caso di elemento già esistente
 java.lang.String toString()
          Stampa il grafo sotto forma di liste di adiacenza; ogni riga inizia col nome di un vertice, seguito dall'elenco delle coppie (vertice adiacente, peso dell'arco)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

vertices

protected java.util.Vector vertices
Constructor Detail

Graph

public Graph()
Method Detail

addVertex

public int addVertex(char label_of_vertex)
aggiunge un vertice di etichetta label_of_vertex se il grafo non ha vertici con questa etichetta
Returns:
l'indice del vertice

ordInsert

protected Graph.AdjList ordInsert(int i,
                                  int w,
                                  Graph.AdjList l)
inserimento ordinato per indice sulla lista degli adiacenti con sovrascrittura del peso in caso di elemento già esistente

addArc

public void addArc(char labelsource,
                   char labeldes)
aggiunge l'arco di (labelsource,labeldes) di peso 1

addArc

public void addArc(char labelsource,
                   char labeldes,
                   int weight)
aggiunge l'arco (labelsource, labeldes) di peso weight; se l'arco (labelsource, labeldes) già esiste, ne aggiorna il peso

cardVertexes

public int cardVertexes()
Returns:
la cardinalità del grafo, ossia dell'insieme dei vertici

toString

public java.lang.String toString()
Stampa il grafo sotto forma di liste di adiacenza; ogni riga inizia col nome di un vertice, seguito dall'elenco delle coppie (vertice adiacente, peso dell'arco)
Overrides:
toString in class java.lang.Object