[Dúvida] - Coloração de Vertice em Grafos

Bom, estou precisando de um algoritmo para coloração de vertice, para encontrar o número cromático, porém já tentei implementar de varias formas e não consegui, segue o código que tentei utilizar:

        for (int i = 0; i < getN(); i++) {
            for (int j = 0; j < getN(); j++) {
                if (this.getAresta(v,i)!= null ) {
                    if (getVertice(i).getCor() == getVertice(j).getCor()) {
                        if (i < j) {
                            while (getVertice(j).getCor() == getVertice(i).getCor()) {
                                getVertice(j).setCor(cor[contCor]);
                                contCor++;
                            }
                        
                        }
                        if (j < i) {
                            while (getVertice(i).getCor() == getVertice(j).getCor()) {
                                getVertice(i).setCor(cor[contCor]);
                                contCor++;
                            }
                          
                        }
                    }
                    contCor = 0;
                }
            }
        }

Alguém poderia me ajudar, como posso mudar o código acima, alguma sugestão ??? vlw