問題を解決するためにあなたの助けが必要です。これはコーディング演習の一部であり、完全には解決できませんでした。
次のグラフがあるとします。
パスの最大長を計算するクラスを作成する必要があります。ルートがなく、各頂点を開始点として使用する必要があります。メソッドには最大繰り返し回数のパラメーターがあるため、この 1 の場合は各エッジを 1 回だけ通過でき、2 の場合は各エッジで最大 2 回。
この場合、repeats=1 の場合、最大パスは (B,A,C) になります。= 2 を繰り返すと、最大パスは (B、A、B、A、C、C) になります。
繰り返さずに問題を解決するために、隣接リストを作成し、DFS を実行してグラフ内のすべてのパスを検索し、最大のものを抽出することを考えました。これは、より単純なケースで機能するはずだと思います。
しかし、エッジを繰り返すことができる場合の方法がわかりません。この問題を解決するためにどのようなアルゴリズムを使用できますか? また、この問題に対するより効率的なアプローチを考えることができますか?
ありがとう