Java adjacency list implementation with a HashMap -
i trying create adjacency list class. trying hashmap. each bucket points list of lists last list being of size 3. unfortunately haven't managed working. appreciated. error line of code
ulist.get(0).add(v); ulist.get(1).add(capacity); ulist.get(2).add(flow);
/* adjacency list */ public class adjacencylist { map< integer, arraylist<arraylist<integer>> > adjlist; //constructor public adjacencylist(int v) { // 0 -> [ [v1,capacity1,flow1] , [v2,capacity2,flow2] , ...] adjlist = new hashmap< integer, arraylist<arraylist<integer> >>(); for(int = 1; i<v+1; i++) { adjlist.put(i, new arraylist<arraylist<integer>>()); } } // method adding edge (->node) // - current capacity (aka remaining flow) // - current flow public void addedge(int u, int v, int capacity, int flow) { arraylist<arraylist<integer>> ulist = new arraylist<arraylist<integer>>(); system.out.println("ul: " + ulist); ulist.get(0).add(v); ulist.get(1).add(capacity); ulist.get(2).add(flow); adjlist.put(u, ulist); } // method retrieving list of children u (u->v1,v2,v3,...) public arraylist<arraylist<integer>> getedge(int u) { return adjlist.get(u); } }
Comments
Post a Comment