1

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

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

给定一些 endword,我如何找到到给定 endword 的最短路径最长的单词?

最长最短路径是指从所有单词到 endword 的最短路径以及其中最长的路径。

我怎样才能只用一个 BFS 做到这一点?

谢谢

4

1 回答 1

1

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

希望这可以帮助!

于 2013-04-19T22:53:01.263 回答