第一章 演算法:效率、分析与量级.PPT

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

第一章 演算法:效率、分析與量級 第一章 演算法:效率、分析與量級 1.1 演算法 演算法1.1 循序搜尋法(Sequential Search) 演算法1.2 加總陣列中的項目 演算法1.3 交換排序法(Exchange Sort) 演算法1.4 矩陣乘法 1.2 發展有效率演算法 的重要性 1.2.1循序搜尋法與 二元搜尋法 演算法1.5 二元搜尋法(Binary Search) 1.2.2費布那西數列 演算法1.6 費布那西數列的第N項(遞迴版) 定理1.1 演算法1.7 費布那西數列的第n項(iterative版) 演算法1.61.7的比較 1.3演算法的分析 1.3.1複雜度分析 基本運算 時間複雜度分析 分析演算法1.2 所有情況的時間複雜度(加總陣列中的項目) 分析演算法1.3 所有情況的時間複雜度(交換排序法) 分析演算法1.4 所有情況的時間複雜度(矩陣乘法) 最差情況時間複雜度 分析演算法1.1 最差情況的時間複雜度(循序搜尋法) 平均情況時間複雜度分析 分析演算法1.1 平均情況的時間複雜度(循序搜尋法) 最佳情況時間複雜度 分析演算法1.1 最佳情況的時間複雜度(循序搜尋法) 記憶體複雜度分析 (memory complexity) 複雜度函數(complexity function) 1.3.2演算法分析原理的應用 1.3.3正確性分析 1.4量級(order) 1.4.1以直覺的方式介紹量級的概念 常見的複雜度類別 表1.3 二次項最終會主控整個函數的值 1.4.2 以嚴謹的方式 介紹量級的概念 big O 量級的性質 1.4.3使用極限計算量級 基本運算:將x與陣列中的一個項目進行比較 輸入大小:n,陣列中的項目個數 我們首先分析已知x在S中的情況,所有在S中的項目都是相異的,因此沒有理由認為x出現在某個位置的機率大於出現在另一個位置的機率。根據這個資訊,對於 ,x位於第k個位置的機率為1/n。若x位於第k個位置,找到x所需執行的基本運算次數為k。這代表的是平均時間複雜度可以由下式得到 接下來我們分析x可能不在陣列中的情況。若要分析這個情況,我們必須指定x位於從1到n的每個位置之機率都是相同的。X位於第k個位置的機率為p/n,x不在陣列中的機率為1-p。若x在第k個位置被找到,迴圈就跑了k次,若x沒有在陣列中被找到,則迴圈則跑了n次,因此 對於一個給定的演算法,B(n)被定義為在輸入大小為n的情況下,該演算法執行基本運算次數的最小值。因此B(n)被定義為在輸入大小為n的情況下,該演算法執行基本運算次數的最小值。又B(n)被稱作該演算法的最佳情況時間複雜度,其求得的過程稱為最佳情況時間複雜度分析。 基本運算:把x與陣列中的一個項目進行比較 輸入大小:n,陣列中的項目個數 因為 ,因此迴圈至少會走一次,如果x=S[1],那麼無論n的大小為何,迴圈都是只走一次。因此 B(n)=1 求得一演算法以使用記憶體為單位來計算,其效率為何 是任一個將正整數映射到非負實數的函數 線性時間演算法 (linear-time algorithm) 平方時間演算法 (quadratic-time algorithm) 純平方函數(pure quadratic function) EX: 完全平方函數(complete quadratic function) EX: * * 1.1演算法 1.2發展有效率演算法的重要性 1.2.1循序搜尋法與二元搜尋法 1.2.2費布那西數列(Fibonacci Sequence) 1.3演算法的分析 1.3.1複雜度分析 1.3.2演算法分析原理的應用 1.3.3正確性分析 1.4量級(Order) 1.4.1以直覺的方式介紹量級的概念 1.4.2以嚴謹的方式介紹量級的概念 1.4.3使用極限計算量級 當我們使用某種技巧解決一個問題的

文档评论(0)

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

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

1亿VIP精品文档

相关文档