- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
物件导向资料结构
Analyzing Algorithms Based on: 物件導向資料結構 — 使用Java語言, 江振瑞 著, 松崗圖書公司, 2005. Introduction to the Design and Analysis of Algorithms -- A strategic approach, 2E, R.C.T. Lee et. al., NcGraw Hill, 2005. Introduction to Algorithms, Cormen et. al., MIT Press. Analyzing algorithms Analyzing an algorithm has come to mean predicting the resources that the algorithm requires. Resources: memory, communication, bandwidth, logic gate, time. We usually assume that the algorithm is performed on a processor with RAM Analyzing algorithms Complexity 一般我們使用 時間複雜度(time complexity) 空間複雜度(space complexity) 來評估演算法的執行時間與所佔用記憶體空間, 這些複雜度愈低,則表示演算法愈好。 我們比較關注time complexity! Three Cases 演算法的時間複雜度分析分為以下三種: 最佳狀況(best case)時間複雜度:考慮演算法執行時所需要的最少執行步驟數。 最差狀況(worst case)時間複雜度:考慮演算法執行時所需要的最多執行步驟數。 平均狀況(average case)時間複雜度:考慮所有可能狀況下演算法的平均執行步驟數。 Worst-case and average-case analysis Usually, we concentrate on finding only on the worst-case running time Reason: ?It is an upper bound on the running time ?The worst case occurs fair often The average case is often as bad as the worst case. For example, the insertion sort. Again, quadratic function. An Alg. for Testing Primes 我們可以看出,輸入大於2的任意正整數n,若n是質數,則演算法Prime1需要執行整數除法求餘數(n%i)動作與整數比較((n%i)=0)動作n-2次之後,才可以知道n是質數。另外,若n不是質值,則演算法Prime1只要執行整數除法求餘數與整數比較動作1次,就可以知道n不是質數了。 Another Alg. for Testing Primes Analysis of Prime1 Alg. 因此,我們很容易看出來,在最壞狀況(worst case)下,演算法Prime1的執行步驟次數與輸入的正整數n成正比關係;而在最佳狀況(best case)下,演算法Prime1的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime1具有線性的(linear) 最差狀況時間複雜度(正比關係即為線性關係)與常數的(constant) 最佳狀況時間複雜度。 Analysis of Prime2 Alg. 我們也很容易看出來,在最壞狀況(worst case)下,演算法Prime2的執行步驟次數相依於輸入的正整數n的平方根值;而在最佳狀況(best case)下,演算法Prime2的執行步驟次數為與輸入的正整數n無關的某個常數。也就是說,演算法Prime2具有平方根的(square root) 最差狀況時間複雜度與常數的(constant) 最佳狀況時間複雜度。 Asymptotic Notation 一般而言,我們使用所謂的趨近記號(asymptotic notation)來分析演算法的複雜度,趨近記號考慮的是演算法在處理資料範圍趨近於無窮大時的狀況。 在演算法的資料處理範圍(或處理資料量)較小時,不管是有效率的(執行步驟數較少)或是沒有效率的(執行步驟數較多)演算法通常都可以很快的執行完畢,在這個狀況下,演算法的時間複雜度好壞的差距比較不明顯。 當演算法處理資料範圍(或處理資料量)相當大時,有效率的演算法通常還是可以很快的結束;而一些極度沒有效率的演算法則
您可能关注的文档
- 社会科学暨管.pdf
- 基础与开挖复习.pdf
- 资管营的目标.doc
- 电子期刊全文资料库教育训练.ppt
- 如需取用国家图书馆书目资料.ppt
- 后设资料的技术挑战.ppt
- 资料表的索引与查询.ppt
- 孔雀鱼的资料.ppt
- 间接资料的获取.ppt
- 资料仓储课件.ppt
- 2025年中国银行(西藏自治区分行)人员招聘笔试备考题库及答案解析.docx
- 2025年交通银行(苏州分行)人员招聘笔试备考题库及答案解析.docx
- 2025年河南孟津农村商业银行人员招聘笔试备考题库及答案解析.docx
- 2025年河南台前农村商业银行人员招聘笔试模拟试题及答案解析.docx
- 2025年河南汝州农村商业银行人员招聘笔试备考试题及答案解析.docx
- 2025年中信银行(保定分行)校园招聘笔试参考题库附答案解析.docx
- 2025年华夏银行(阜阳分行)人员招聘笔试模拟试题及答案解析.docx
- 2025年中信银行(鞍山分行)人员招聘笔试备考题库及答案解析.docx
- 2025年星展银行校园招聘笔试参考题库附答案解析.docx
- 2025年光大银行(珠海分行)人员招聘笔试备考试题及答案解析.docx
文档评论(0)