BFS - 单词链/字梯

时间:2013-04-19 21:34:34

标签: algorithm search graph nodes breadth-first-search

我需要一些问题的帮助。我想找到一些单词和一些给定的结尾词之间最长的最短路径。所有单词的长度都是4.我有一个图表,其中每个节点代表一个单词,并且每个单元在1个位置的不同都是连接的。

我有一个包含所有单词的列表。我有一个适当的函数,找到最长的最短路径,但它从单词列表中的每个单词开始,然后从单词列表中的每个单词做一个BFS。

如果给出一些结束词,我怎么能找到具有给定结束词最长最短路径的单词?

通过最长的最短路径,我指的是从所有单词到结束语的最短路径以及它们中最长的路径。

如何只使用一个BFS?

谢谢

1 个答案:

答案 0 :(得分:1)

在进行广度优先搜索时,您可以使用距离(源最短路径的长度)标记源节点中的每个节点。由于单词梯形图是可逆的,您可以尝试从结束单词开始进行广度优先搜索,用结尾单词标记每个单词的跳数。当您这样做时,您可以跟踪您发现的与起始单词尽可能远的单词。完成后,您可以将该单词输出为距离起始单词尽可能远的单词。

希望这有帮助!