Vieruslista on yleensä käytännössä paras tapa tallentaa verkon rakenne muistiin. Siinä jokaista solmua kohden tallennetaan lista niistä solmuista, joihin kyseisestä solmusta pääsee yhtä kaarta pitkin, joka mahdollistaa näiden solmujen nopean läpikäynnin. Tätä läpikäyntiä tarvitaan muunmuassa syvyys- tai leveyshakua toteutettaessa.
Yksinkertaisinta vieruslista on toteuttaa tilanteessa, jossa meillä on joku tietty määrä n
solmuja, ja nämä solmut on numeroitu 1..n
. Tällöin voidaan varata seuraavanlainen taulukko
ArrayListTaulukossa olevat array listit ovat kuitenkin vielä alustamattomia, joten ne pitää vielä alustaa. Kaari solmusta[] vl = new ArrayList[n+1];
i
solmuun j
lisätään seuraavasti:
vl[i].add(j);ja kaikki solmut, joihin solmusta
i
on suora yhteys, voidaan käydä läpi näin:
for(int seuraava:vl[i]){ // TEE JOTAIN }