From: SourceForge.net <no...@so...> - 2011-12-28 23:05:11
|
The following forum message was posted by adamjava at http://sourceforge.net/projects/jung/forums/forum/252062/topic/4909974: Hi, I remove (iteratively) from the graph all nodes of degree==2 using the method of graph-derived class: public int removeDeg2Vertices() { int ret; ArrayList<GV> tmp = new ArrayList<GV>(); for(GV v : getVertices()) { if (degree(v)==2 ) tmp.add(v); } ret = tmp.size(); if (0==ret) return 0; for(GV v : tmp) { ArrayList<GV> n = new ArrayList<>(); [b] if (degree(v)!=2) { System.out.println("This line should not display! :( degree = "+degree(v)+", neighborCount = "+getNeighborCount(v)); continue; } [/b] n.addAll(getNeighbors(v)); GV v1 = n.get(0); GV v2 = n.get(1); addEdge(new GE(), v1, v2); removeVertex(v); } return ret; } The problem is that the message "This line should not display" appears on the screen for some graphs with degree/neighborCount=1. Do you have any idea why? Thanks in advance adamjava |