2010-08-16 56 views
2

我喜欢学习一些关于算法的知识,特别是可以帮助我构建纵横文字编织器的算法(简单的一种)
哪些算法应该学习?哪些算法我需要学习编写纵横文字编织器?

+1

相关的解决:[算法生成一个纵横](HTTP://计算器。 com/questions/943113/algorithm-to-generate-a-crossword) – 2010-08-16 12:46:48

+0

也检查这篇文章:[与 检查点搜索的实际字典生成](http://www.iadis.net/dl/final_uploads/200501C039.pdf ) – 2010-08-16 12:57:12

回答

0

尝试使用与DFS类似的回溯功能。所以学习DFS然后学习回溯。

A *也很好,但你需要很好的启发式。具有A *搜索的前缀树可能有效。但首先开始简单的回溯版本。

顺便学习回溯的一个优点是,可以解决很多其他的拼图也使用它,喜欢数独,15个王后,速度在迷宫和锯齿锯拼图:)

0
  • 有无你决定使用哪种编程语言?在处理字符和字符串时,某些语言比其他语言更好,例如Java和C++具有相当好的字符/字符串处理能力。除了Yuval和Atul提到的之外,我想你需要了解一下Longest Common Substring算法。

  • 另请查看this SO thread的解答。有一些算法步骤被讨论来创建一个纵横字谜编织器。你应该有一个有效的算法来实现你遵循的每一步。

1

你的问题的主要类别是CSP(约束满足问题),这主要是由回溯算法