穷举法又称试探法。
穷举法,故名思议,就是列举所有可能的解,这种方法最直接,也是最笨的一种方法。
穷举法所能解决的问题,必须是有有穷解的问题。
列举所有可能解是穷举法的关键。
为了避免列举时出现重复,有两种方法:
一、按一定的规则列举
二、盲目列举,但是每次都要检查时候有重复。检查重复就要保存以前列举的解,会消耗存储空间。
例:穷举法求方程的解。2x+3y = 20,约束条件,找出0~20内的解。
for(i = 0; i <= 20;i++)
for(j = 0;j <= 20;j++)
if(2 * x + 3 * y == 20)
printf("%d,%d",i,j);
本文参考 《数据结构与算法》 中国矿业大学出版社