グラフ内の最長パスを決定するコード セグメントを作成しました。以下はコードです。しかし、途中で再帰的な方法があるため、計算の複雑さを取得する方法がわかりません。最長パスを見つけることはNP完全問題なので、O(n!)
またはのようなものだO(2^n)
と思いますが、実際にどのように決定できますか?
public static int longestPath(int A) {
int k;
int dist2=0;
int max=0;
visited[A] = true;
for (k = 1; k <= V; ++k) {
if(!visited[k]){
dist2= length[A][k]+longestPath(k);
if(dist2>max){
max=dist2;
}
}
}
visited[A]=false;
return(max);
}