- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题1:寻找“水仙花数”;int m, n, sum=0;
for(m=100; m999; m++)
{
while(m)
{ n=m%10;
sum+=n*n*n;
m=m/10;
}
if(m==sum)
{printf(“”)}
};问题2:“百钱买百鸡”问题;问题3: 九宫图;问题4:化学方程式配平;分析;第二章 枚举算法;枚举算法 ;枚举法求解的问题必须满足两个条件: ⑴ 可预先确定每个状态的元素个数n;
⑵ 状态元素a1,a2,…,an的可能值为一个连续的值域。
设 ai1—状态元素ai的最小值;
aik—状态元素ai的最大值(1≤i≤n),
即a11≤a1≤a1k , a21≤a2≤a2k , ai1≤ai≤aik , … , an1≤an≤ank; for a1←a11 to a1k do
for a2←a21 to a2k do
……
for an←an1 to ank do
if 状态(a1,…,ai,…,an)满足检验条件
then 输出问题的解;;如上问题的求解过程;百钱买百鸡问题:设公鸡有x,母鸡为y,小鸡为z:
for(x=1; x20; x++)
for(y=1; y33; y++)
for(z=3; z330; z++)
{
if(5*x+3*y+z/3==100)
printf();
};九宫图问题
分析问题,首先找到合适的数据结构来描述,然后设计对应的算法
九宫图问题对应什么样的数据结构?
;化学方程式的配平;枚举法的局限性;枚举算法的优化
枚举算法的时间复杂度可用状态总数*考察单个状态的耗时来表示,因此可以从如下几个方面来优化:
⑴ 减少状态总数(即减少枚举变量和枚举变量的值域)
⑵ 降低单个状态的考察代价;优化举例;进一步优化;旅行商问题;分析;这么大的解空间意味着漫长的搜索过程. 为了对这个时间有感性认识,请运行一下如下C#程序:
Stopwatch stw = new Stopwatch();
stw.Start();
long sum = 4999000000; //4.999×109
for (long i = 1; i sum;i++ )
{
int b = 0;
}
stw.Stop();
MessageBox.Show(“程序共运行: + stw.Elapsed.Seconds.ToString() + 秒?);
;如上程序,在我的电脑上运行需12秒,即,仅执行4.999×109 次简单的循环运算就需12秒
那么,执行4.999×1018次这样的运算,则需要
12×109秒
= 380 年;枚???法虽然效率不高,但基于该方法,我们可对相当多的、解空间并不大的问题给出比较满意的解答
对于规模较大的困难问题,需要采用其它启发式的求解算法
文档评论(0)