常用算法思想复习之<穷举思想>


1、概述

穷举法,又称强力法,它是一种最为直接,实现最为简单,同时又最为耗时的一种解决实际问题的算法思想。

其基本思想是:在可能得解空间中穷举出每一种可能得解,并对每一个可能进行判断,从中得到问题的答案。

使用注意:一是解空间的划分必须保证覆盖问题的全部解。二是解空间集合及问题的解集一定是离散的集合。

评价:穷举法用时间上的牺牲换来了解的全面性保证,适用于一些规模不是很大的问题的解决。

2、应用实例

例:问题:寻找1—100之间的素数

解决这个问题最简便的方法就是使用穷举法。

判断一个整数是否为素数的函数isPrime;

View Code
 1 int isPrime(int n)
2 {
3 int temp = sqrt(n);
4 for(int i=2; i<=temp; i++)
5 {
6 if(n % i == 0)
7 return 0;
8 }
9 return 1;
10 }

得到素数的函数getPrime

View Code
1 void getPrime(int low, int high)
2 {
3 for(int i=low; i<=high; i++)
4 {
5 if(isPrime(i)
6 cout<<i<<setw(3);
7     }
8 }

 

转载于:https://www.cnblogs.com/landy126/archive/2012/03/01/2375313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值