私は大きな を持っています、HashMap<String,Set<String>>
このように言います:
{INDIANBATSMAN=[INDIAN, CRICKETER], COMPANY=[THING],
INDIAN=[LIVING], LIVING=[THING], PERSON=[LIVING],
CRICKETER=[PERSON], CANADIAN=[LIVING], SCANDINAVIAN=[LIVING]}
これは実際にはグラフ構造に対応しています。つまり、各キーとその値のセットの間にエッジがあります。各リンクをトラバースし、最初のノードから到達可能なすべてのノードをキーの値のセットとして見つけたいと考えています。
お気に入り、
INDIANBATSMAN=[INDIAN,LIVING,THING,CRICKETER,PERSON]
これを行うための最も効率的な方法は何ですか?(現在、隣接行列に変換していますが、これはマップが巨大なため非常に非効率的です。)