解決しようとしている問題があります。クリークを受け取り、そのクリークを含む最大のクリークを返すメソッドを実装したいと考えています。私が取り組んでいる方法は再帰的であり、バックトラッキングを使用して、クリークの定義に従ってソリューションを受け入れたり拒否したりします。私の問題は、メソッドにパラメーターを 1 つだけ渡したいので、Bron-Kerbosch アルゴリズムを使用したくないことです。これが私がやったことの疑似コードです:
public ArrayList<Integer> findClique(ArrayList<Integer> R)
{
if(no more candidates)
{
return R;
}
else
{
for(int candidate = next candidate; candidate <nodesNmuber; node++)
if(connected(R,candidate))
{
R.add(candidate);
findClique(R);
}
printOutput(R);
R.remove(candidate);
}
}
再帰を破る条件を選択する方法についてのアイデアを手伝ってもらえますか? 次の候補の値をメソッドのパラメータに渡さずに次のループまで保持する方法がわかりません!