en
Os dejo una función en java muy interesante para encontrar vecinos en algorítmica cuando estamos usando números binarios. Por ejemplo los vecinos de {0,0,1,0,1} serían: {1,0,1,0,1}, {0,1,1,0,1}, {0,0,0,0,1}, {0,0,1,1,1} y {0,0,1,0,0}.

Función Java Permutar
n = posición en el array
vecino = array de binarios del que se quieren hallar los vecinos

private static void permutar (int[] vecino, int n) {
    if (vecino[n] == 1){
        vecino[n] = 0;
    } else {
        vecino[n] = 1;
    }
}