所以我这里有问题。我得到一组随机单词,我的工作是找出是否存在至少一个连接所有单词(首尾字母)的单词序列。
例如,单词序列(苹果 - 鹰 - 大象 - 老虎)将返回 true。但是单词序列(苹果 - 鹰 - 大象 - 桃子)会返回假。
所以我想使用一些图论。我发现我可以创建有向图并强制它找到图中最长的路径或汉密尔顿路径。这里的问题是图可以是循环的,所以问题总是 NP full。它真的是最好的解决方案还是我错过了什么而问题实际上要容易得多?
最好的显然是有无环图,这样我就可以使用关键路径算法在 o(n+m) 中找到解决方案。
蛮力真的是我唯一的选择还是有其他替代方法来解决这个问题?起初我想到了一些事情,比如计算开始和结束的字母,然后比较它们,但它有其自身的问题,我无法真正解决它们。
无论如何,如果蛮力是我唯一的选择,有没有什么好的方法可以尽可能地优化最长路径算法?
FFIVE
凤凰求蛊
相关分类