枚舉法的基本思想
枚舉法的基本思想是根據(jù)提出的問題枚舉所有可能狀態(tài),并用問題給定的條件檢驗?zāi)男┦切枰?,哪些是不需要的。能使命題成立,即為其解。
枚舉結(jié)構(gòu):循環(huán)+判斷語句。
枚舉法的條件
雖然枚舉法本質(zhì)上屬于搜索策略,但是它與后面講的回溯法有所不同。因為適用枚舉法求解的問題必須滿足兩個條件:
⑴可預(yù)先確定每個狀態(tài)的元素個數(shù)n;
⑵狀態(tài)元素a1,a2,…,an的可能值為一個連續(xù)的值域。
枚舉法的框架結(jié)構(gòu)
設(shè)ai1—狀態(tài)元素ai的最小值;aik—狀態(tài)元素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 &n