Java 一种算法,在给定形式为R(x,y)的断言列表的情况下,检查两条狗x和y是否具有相同的品种

Java 一种算法,在给定形式为R(x,y)的断言列表的情况下,检查两条狗x和y是否具有相同的品种,java,algorithm,data-structures,Java,Algorithm,Data Structures,这学期我要上算法课,期中考试就要到了。有一个关于过去期中考试的问题。我们得到了一个n条狗的列表和一个形式为R(x,y)的m断言的列表,这意味着x和y具有相同的品种。给出了R是一个等价关系。给定2只狗x和y,我们需要制定一个算法来确定它们是否有相同的品种。 最简单的方法是检查断言列表,检查断言对(x,y)是否存在,但这并不适用于所有情况 假设我们有Dogs={a,b,c,d}和断言={(a,b),(b,d)}。我们被要求检查a和d是否有相同的品种。设计此算法的良好起点是什么?让我们将此输入解释为一

这学期我要上算法课,期中考试就要到了。有一个关于过去期中考试的问题。我们得到了一个n条狗的列表和一个形式为R(x,y)的m断言的列表,这意味着x和y具有相同的品种。给出了R是一个等价关系。给定2只狗x和y,我们需要制定一个算法来确定它们是否有相同的品种。 最简单的方法是检查断言列表,检查断言对(x,y)是否存在,但这并不适用于所有情况


假设我们有Dogs={a,b,c,d}和断言={(a,b),(b,d)}。我们被要求检查a和d是否有相同的品种。设计此算法的良好起点是什么?

让我们将此输入解释为一个图形,每只狗都是两条狗之间的顶点,输入是两条狗之间的边,如果它在一个组件中,您的答案将是正确的,显然您可以使用DFS算法找到所有组件。

发布您的尝试,以便我们可以帮助您。问题不应该是“做我的家庭作业”区域。。。