【发布时间】:2018-01-19 07:48:25
【问题描述】:
我还有另一个回溯挑战,我必须得到所有可能的素数组合,这些组合加起来等于某个数字。我已经使用Wikipedia的通用算法完成了任务,但是对于数字100,运行了一个多小时,到下课还没有完成。我想知道:记忆化(你怎么拼写?)会显着提高算法的性能(比如,它会不会让它明显更快)?我正在使用 c++,并且该函数被调用了很多次。我正在使用递归回溯,我似乎记得对于简单的问题大约是 O(n!)。
【问题讨论】:
-
您为绩效评估或检查做了哪些工作?您必须在此处输入您自己的开始和结果
-
我真的不知道如何...我使用的是学校计算机,Windows 10 和 code::blocks 13.10。
-
在当前表格中,您的问题是被禁止的。有人已经投票支持关闭......当您的解决方案出现问题时,您可以寻求建议甚至帮助,但您不能要求我们完成您的工作。这对你来说也是一个糟糕的服务......你应该在这里写下你是如何计算算法的复杂性的,以及你在什么时候卡住了。或者你如何衡量程序的真正复杂性。并将代码放在这里。两种方式都可以。但是您必须自己为任务做一些事情。购买计算机和操作系统/框架安装是不够的。
-
@Gangnus 我的意思是我没有像
time这样的简单unix 实用程序可用(据我所知),并且不知道IDE 是否有任何方法。跨度> -
没有办法告诉我们如何改进一个只有你知道它的样子的程序。这里有些人是非常优秀的程序员,但即使在这里,也没有人通灵。
标签: c++ algorithm optimization backtracking primality-test