博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【枚举算法】枚举法概念
阅读量:2056 次
发布时间:2019-04-28

本文共 667 字,大约阅读时间需要 2 分钟。

枚举法,也称为列举法、穷举法,是暴力策略的具体体现,又称为蛮力法。

枚举法的基本思想是: 逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除。

枚举模式:

1)区间枚举

对于有明确范围要求的实际案例,通过枚举循环的上下限控制枚举区间,而在循环体中完成各个运算操作,然后根据所求解的具体条件,应用选择结构实施判别与筛选,求得所要求的解。

n = 0

for(k = 区间下限;k <= 区间上限;k++){

    运算操作序列

    if(约束条件){

          System.out.println(满足要求的解);

          n++;

    }

}

System.out.println(解的个数);

2) 递增枚举

有些问题没有明确的范围限制,可根据问题的具体情况试探性地从某一起点开始增值枚举,对每个数进行操作与判别,若满足条件则输出结果;

k = 0;

while(true){

    k++;

    运算操作序列

    if(约束条件){

        System.out.println(满足要求的解);

        return;

    }

}

枚举的实施步骤:

1) 根据问题的具体情况确定枚举量(简单变量或数组)

2) 根据问题的具体清空确定枚举范围,设置枚举循环

3) 根据问题的具体要求确定筛选(约束)条件

4) 设计枚举程序并运行、调试,对运行结果进行分析与讨论。

枚举的意义:

1) 可以充分利用计算机的速度,解决一些常见问题

2) 如果问题的规模不大,使用枚举,运算速度是可以接收的。

3) 枚举可作为某类问题时间性能的底线,用来引出同样问题的更高效率的算法。

转载地址:http://pdslf.baihongyu.com/

你可能感兴趣的文章
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>