用端点形成路线

Form the route with the endpoints

本文关键字:成路 端点      更新时间:2023-10-16

因此,假设我们得到了端点(a,b),(b,c),(c,d),然后我们可以形成途径a-> b-> c。

请注意,终点的顺序是随机的。因此(a,b),(c,d),(b,c)也将产生a-> b-> c。

的路线

,但通常,如果给我们订购的成对端点,则如何构造路线?

我不确定哪种数据结构在这里最有帮助。我正在考虑将每个坐标(x,y)存储到列表中,因为输入已阅读。

so(a,b),(c,d)将存储为{a,b,c,d}。每个元素是x还是y坐标可以通过其在列表中的位置的奇偶校验来确定(因此列表中的第一个条目为x,第二个条目为y,第3个是x等)。然后,当读取每个有序对时,我们查找列表以查看X或Y坐标是否已经在列表中。如果是这样,我们连接。

要证明,假设我们在(a,b),(c,d),(b,c)中阅读,我们的列表是{a,b,c,d}(c,d)只是读。当(b,c)读取(b,c)时,我们看到b已经在列表中。因此,我们知道A-> B->C。C也在列表中,并且我们有A-> B-> C-> D,然后我们将(B,C)添加到列表中以形成{a,b,c,d,b,c}。

我的困难是:我们如何存储A-> B-> C?我应该使用什么数据结构?我们如何跟踪我们走时形成的部分路线?

谢谢!

构建具有邻接列表表示的有向边的图。然后在起点到终点上使用dfs,并存储先前访问的节点在缓冲区中,一旦您到达目的地,缓冲区中的值就是路径。