Обнаружение цикла графикаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Обнаружение цикла графика

Сообщение Anonymous »

почему я сталкиваюсь с ошибкой безопасного типа, когда использую этот код, чтобы определить, есть ли цикл в ориентированном графе или нет

public static boolean cycleDFS(int [][]edges,int V){
1 boolean [] stack = new boolean[V];
boolean[] vis = new boolean[V];
List[] graph = new ArrayList[V];
for (int i = 0; i < V; i++) graph = new ArrayList();

for (int [] e : edges) {
graph[e[0]].add(e[1]);
}
for (int i = 0 ; i < V;i++){
if(!vis) if(cycle(graph,vis,stack,i)) return true;
}
return false;
}

private static boolean cycle(List [] graph, boolean[] vis, boolean[] stack, int i) {
vis=true;
stack=true;
for (int k : graph) {
if(stack[k]) return true ;
if(!vis[k]&&cycle(graph,vis,stack,k))return true ;

}
stack=false;
return false;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... -detection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»