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?:)