优化boggle算法

Posted

技术标签:

【中文标题】优化boggle算法【英文标题】:Optimize boggle algorithm 【发布时间】:2011-12-13 03:01:46 【问题描述】:

我正在实施以下boggle algorithm:

我想优化它,因为找到所有单词大约需要 2 分半钟。您对优化技术有什么想法吗?

【问题讨论】:

这是你的代码吗?或者你发现了什么?如果您刚刚找到它,我们需要付出一些努力才能真正提供帮助。 你用 Java 和 C++ 标记了你的问题——你用什么来实现它?您对优化它有什么想法? @Jon,代码可能不是他的,因为它已经 7.5 岁了......除非他现在才开始处理它:) 尝试使用堆栈方法而不是递归方法。堆栈比递归更有效,尤其是在 Java 中。 @Jon:页面上的 cmets 和版权表明他可能没有写这个。 【参考方案1】:

我通过创建可以遍历的字母树来组装和验证单词,从而编写了一些 Boggle-solving 算法。您可以使用基于树的结构来节省大量空间,其中单词共享相似的字母,这意味着您不必保留每个单词的单独副本。

如果您没有在您提供的网站上编写程序,请记住,我们不会为您完成工作。您必须向我们表明您在该问题上花费了大量时间,而不是给我们一个程序并要求我们为您优化它。一个好的第一步是研究页面上的算法并完全理解它是如何工作的。或者更好的是,尝试从头开始编写自己的 Boggle 程序,以了解哪些技术最适合您。

【讨论】:

【参考方案2】:

你真的很想在这里看看这个问题(和答案):How to find list of possible words from a letter matrix [Boggle Solver]

在 Python、Perl、VB.NET 和 php 中有解决方案。大多数使用Tries 并可选地使用正则表达式对字典进行预过滤。

【讨论】:

以上是关于优化boggle算法的主要内容,如果未能解决你的问题,请参考以下文章

Coursera 算法二 week 4 Boggle

ruby 使用类从Boggle Board创建检索Boggle字

优化算法笔记(二)优化算法的分类

优化算法总结

粒子群优化算法和多模态优化算法有啥区别

优化算法差分松鼠搜索优化算法(DSSA)含Matlab源码 1330期