All pastes #468392 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-05-03 02:15 UTC
rendered paste body
   public void colorBacktracking() throws NoSuchVertexException {
      Object[] vertices = (graph.vertexKeys()).toArray();

      int v = 0;
      while(v >= 0 && v < vertices.length) {

         Integer currentColor = (Integer)graph.getVertexData(vertices[v]);
         graph.addVertex(vertices[v],(Integer)currentColor.intValue()+1);


         Collection neighbors = graph.neighborData(v);
         Iterator neighItr = neighbors.iterator();
         while(neighItr.hasNext()) {
            Integer currNeigh = (Integer)neighItr.next();
            while(currNeigh.intValue()==currentColor && currentColor
                  <= maxColor) {
               graph.addVertex(vertices[v],(Integer)currentColor.intValue()+1);
            }
         }

         if(currentColor.intValue() > maxColor) {
            graph.addVertex(vertices[v],(Integer)new Integer(0));
         }

         if(currentColor.intValue() == 0) {
            v--;
         } else {
            v++;
         }

      }