1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
窮舉法

窮舉法 / 歸納法 Week 4_1 2005/9/6 kckckc 大綱 窮舉 What is 窮舉 How to 窮舉: *使用時機 *好的例子 & 不好的例子 窮舉方法: 順序窮舉 / 排列窮舉 / 組合窮舉 (---前面排列組合講的---) 提高窮舉的效率 歸納 What How Example What is 窮舉 遇到一個問題 … 1.列出問題的所有可能解 2.根據題目條件逐個判定 3.滿足條件 - 得到一個解 窮舉 – 使用時機 1.問題可能解的個數不是特別大 2.答案的變化具有一定的規律性 窮舉法的範例 1.給定不考慮運算優先順序的4個算數符號 +-×÷ 2.輸入任5個正整數 A1 A2 A3 A4 A5 3.在每個相鄰的正整數間填入一個上述的算數符號,構成一個算數表達式 4.給定一個M,使該算數表達式剛好為M 5.求出,所有可能的算數表達式 窮舉法的範例 (cont.) A1(+-x÷)A2 (+-x÷) A3 (+-x÷) A4 (+-x÷) A5 最多僅有 44 種解法 有規律 : 4個位置所要填的算數符號 用+-×÷去填充。 - 用一個4重回圈,即可以完成。 不適用窮舉的例子 1.給定一個正數的集合 A = {a1,a2,a3,…an} ,(n=30) 2.4個算數符號+-×÷不考慮運算優先順序 3.從A中選取若干的元素,用上述算數符號連結起來成一個表達式 4.給定一個M,求出,以最少的運算次數可以產生M的算數表達式 不適用窮舉的例子(cont) ※此例與上個例子均為根據結果來組合表 達式 不同的是: 集合A中的個數和順序選取無法確定 - 無法用固定的循環來控制和窮舉 - 適合用有哪些信誉好的足球投注网站回朔法 窮舉的方法 排列窮舉 / 組合窮舉 *利用數學中排列組合的知識,產生出問題的答案的所有可能解,根據題設中答案的檢驗條件去判斷是否有滿足的答案。 順序窮舉 *將問題的答案範圍內所有情況與自然數建立起一個一一對應的關係,從而可以按自然數的變化順序去窮舉問題的所有可能解。 順序窮舉的例子 數字三角形問題: 假設三角形行數 = 10 (裡面數字不超過100的整數) 從最頂層走到最底層,每步可沿左下或右下走 輸入一數值M,確定是否存在一個路徑,使沿著該路徑所經過的數字總和恰為M。 順序窮舉的例子(cont) 三角形行數=10 (不大) - 可用窮舉 列出每一條路徑的總和,看是否等於M 思考(優化問題的解法): 上層到下層,每次只有2種走法 - 用”0”表示往左下走;”1”表示往右下走 層數為n的三角形 - 每種走法可用一個 n-1 位的2進位數表示 順序窮舉的例子(cont) 所以:可以用n-1位的2進位數來表示每組的解 窮舉出:10進位的 0 ~ 2n-1, 相對應的2進位數。 總共列舉出 2n 個整數 - 轉換為2進位的串列 提高窮舉的效率 HOW ? - 減少窮舉的數量 提高效率,減少窮舉的數量 HOW *依各種問題,減少的方法不盡相同. *分析問題 - 找出問題的隱含條件 - 排除明顯不可能屬於問題的解的狀態 減少窮舉數量的例子 方格填數問題 條件: a. 8個方格中填入 1~8 b. 使相鄰和對角線上的數字差不為1 減少窮舉數量的例子(cont) 直接窮舉 - 8! = 40320 種方法 思考: B3&B6,與它們相鄰的方格共有6個。 - 填入這2格中的數,必須和6個數不連續 (同義:可以和一個數連續) - 這2格只可以填 1 or 8 減少窮舉數量的例子(cont) 2817 or 7182 減少窮舉數量的例子(cont) B2 B4 B5 B7 :從 3.4.5.6 中挑選 需要窮舉的數量 = 2 × 4! = 48 提高窮舉的效率(fin) 結論: *排除明顯不可能屬於問題解的狀態 *注意:必須不遺漏問題的解的可能的狀 態。否則會造成漏解。 歸納法 What: 有些看起來非常複雜的問題, 用窮舉法無法完成。 How: 從簡單的情況入手,分析問題的狀態與特點。 找出簡單的規律,將問題推廣到一般情況。 Example 一種特殊的排序: 最多只有3個關鍵字(例如奧運獎牌:金銀銅,排序後金牌最前面、之後銀牌、最後銅牌) 題目: 1、2、3為關鍵字,由小到大排列。 給定一個只含有關鍵字的序列(內含 1000 個關鍵字),計算,最少需幾次交換操作即可以將序列由小到大排列。 Example(cont.) 雖然題目是”排序” ,卻無法用簡單的排序方法來完成,因為題目要求的是”交換次數最少”。 序

文档评论(0)

maritime5 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档