Witam.
Mam następujący problem. Nie umiem zaimplementować grafu na liście przylegania. Mam książkę i na macierzy przylegania rozumiem to bez problemu jednak, nie wiem jak zbudować konstruktor dla listy list oraz metody dodania wierzchołka i krawędzi. Na macierzy przylegania wygląda to następująco:

public class Wierzcholek {
	public char etykieta;
	public boolean odwiedzony;
	public Wierzcholek(char etykieta){
		this.etykieta = etykieta;
		odwiedzony = false;
	}
}

public class Graf {
	private final int MAX_WIERZCHOLKOW = 10;
	private Wierzcholek tablicaWierzcholkow[];
	private int macierzPrzylegania[][];
	private int iloscWierzcholkow;
	
	public Graf(){
		tablicaWierzcholkow = new Wierzcholek[MAX_WIERZCHOLKOW];
		macierzPrzylegania = new int[MAX_WIERZCHOLKOW][MAX_WIERZCHOLKOW];
		iloscWierzcholkow = 0;
		
		for(int i=0;i<MAX_WIERZCHOLKOW;i++){
			for(int j=0;j<MAX_WIERZCHOLKOW;j++){
				macierzPrzylegania[i][j] = 0;
			}
		}	
	}
	
	public void dodajWierzcholek(char etykieta){
		tablicaWierzcholkow[iloscWierzcholkow++] = new Wierzcholek(etykieta);
	}
	
	public void dodajKrawedz(int poczatek, int koniec){
		macierzPrzylegania[poczatek][koniec] = 1;
		macierzPrzylegania[koniec][poczatek] = 1;
	}
	
} // koniec klasy Graf

Jednak jak zrobić to na liście list?:)