私は次の問題に取り組んでいます.2つの列を持つCSVファイルがあり、ファイル名は「友達」であると言えます。両方の列には、A から Z までの文字が含まれています。
A B
B C
A E
D F
E F
各行には 2 つの異なる文字があります (行に重複はありません)。AさんはBさんの友達、CさんはDさんの友達など…AさんがBさんと話し、BさんがCさんと話すと、BさんとCさんが知り合いになります。Aquintaces は、共通の友人を共有する人です。誰がより多くの分母を持っているかを調べる必要がありますか?
私は、ハッシュマップ、アレイリスト、スタックなどの異なるデータ構造を使用する方法と、グラフ理論 (JGraphT ライブラリ) を使用する方法の 2 つの異なる方法を試してきました。しかし、データ strcutres を使用するとロジックに固執し、グラフ理論を使用するとグラフ内のトラバーサルに固執します。
次の質問があります:-
- データ構造またはグラフを使用するためのより良いアプローチは何ですか? または、これよりも優れたアプローチ/ロジック/アルゴリズムはありますか?
- JgraphT Library でグラフをトラバースする方法を知っている人はいますか。私はこれを行うことができません。ライブラリに関するドキュメントは非常に限られています。
お願いします、どんな助けでも本当にありがたいです。