通过一次只更改一个字母将一个单词转换为另一个单词

时间:2012-07-16 17:43:17

标签: c algorithm graph

我如何处理这个算法问题?

  

给出字典中两个长度相等的单词,写一个   通过仅改变一个单词将一个单词转换为另一个单词的方法   一次一封信。你在每一步中得到的新词必须在   字典。

示例:

Input: DAMP, LIKE
Output: DAMP -> LAMP -> LIMP -> LIME -> LIKE

1 个答案:

答案 0 :(得分:7)

尝试用graphs来思考这个问题:将字典中的所有单词都视为顶点,并在每两个顶点之间插入一个只有一个字母的边。输出是图中众所周知的对象,您可能已经知道了解决问题的算法。

<强>扰流

  

输出是图中的路径,通过查找路径来解决问题。 breadth-first search(BFS)或Dijkstra's algorithm优雅地解决问题。