在进行
归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做枚举法.
枚举法是利用计算机运算速度快、
精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的
全面性。
在数学和计算机
科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。
将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃。例如:找出1到100之间的
素数,需要将1到100之间的所有整数进行判断。
枚举算法因为要列举问题的所有可能的答案,所以它具备以下几个特点:
枚举法的基本思想是: 逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除。采用
枚举算法解题的基本思路:
首先考虑一个问题:将1到100之间的所有整数转换为
二进制数表示。
end.
枚举法,是指从可能的集合中一一枚举各个元素,用题目给定的
约束条件判定哪些是无用的,哪些是有用的。能使命题成立者,即为问题的解。
枚举法的
时间复杂度可以用状态总数*考察单个状态的耗时来表示,因此优化主要是: