¿Cómo implementar dfs usando recursividad?

Estoy tratando de implementar DFS con recursividad usando el siguiente código,

public static void dfs(int i, int[][] mat, boolean [] visited){

  visited[i] = true;  // Mark node as "visited"

  System.out.print(i + "\t");

  for ( int j = 0; j < visited.length; j++ ){

     if ( mat[i][j] ==1  && !visited[j] ){

        dfs(j, mat, visited);       // Visit node
     }

  }
}

Tengo una matriz y una matriz para rastrear los nodos visitados,

// adjacency matrix for uni-directional graph 
int [][] arr = {
                    // 1  2  3  4  5  6  7  8  9  10
                    {  0, 1, 1, 1, 0, 0, 0, 0, 0, 0}, // 1
                    {  0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, // 2
                    {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // 3 
                    {  0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, // 4
                    {  0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, // 5 
                    {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // 6
                    {  0, 0, 0, 0, 0, 0, 0, 1, 1, 0}, // 7
                    {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // 8 
                    {  0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, // 9
                    {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0}  // 10 
            };


   boolean [] visited = new boolean[10];

    for (int i =0; i< visited.length; ){

        visited[i++] = false;
    }

Estoy haciendo la llamada de la siguiente manera,

dfs(1, arr, visited);

Este regreso

// 1    6   7   8   9

lo cual no es correcto Debería volver: [1 2 7 8 9 10 3 4 5 6]

El gráfico es el siguiente,

ingrese la descripción de la imagen aquí ¿Cómo puedo mejorar mi código?

Respuesta 1

Java Sound ofrece instancias de FloatControl para varias funciones de línea de sonido y un tipo de control MASTER_GAIN y VOLUME. ¿Se pueden usar estos controles para cambiar el volumen del sistema?

Tengo un problema muy simple que esperaba poder resolver con el enlace diferido de GWT. Tengo una gran cantidad de código que se programó para las interfaces org.w3c.dom. *. No quiero cambiar esto ...

Mi servlet de Java parece quejarse de que no puede encontrar un archivo que está incluido en el paquete (marktest). Estoy usando Eclipse (Indigo) para desarrollar y Tomcat7. Aquí está el error: GRAVE: Error ...

Después de compilar el siguiente código en Eclipse usando una Mac: import java.io. *; Public class Filer {public static void main (String [] args) lanza IOException {File f1; ...