读书人

单词变形的算法

发布时间: 2012-02-13 17:20:26 作者: rapoo

求一个单词变形的算法
原题如下:

需求:
编写一个算法,在给定大约8000个等长英文单词中,用户任意输入这8000个单词中的两个等长的单词A和B,寻找到A单词变形到B单词的路径;
变形规则是这样的,每次只能变一个字母例如:用户给定A=hello,B=goods, 变形的路径就是 hello->hells->bells->bolls->bolds->golds->goods。

要求:
1.程序加载8000个单词的时间要小于4秒;
2.程序查找每个变形路径的时间要小于1秒;
3.程序不能出现死循环的情况;
4.程序不能有内存泄露和死机的问题;
请高人讲下思路


[解决办法]
楼主参考一下Levenshtein Distance算法,主网搜一下,应该可以搜到这个算法的证明过程,理解这个证明过程之后自然知道怎么做你现在这个算法了。

读书人网 >C++

热点推荐