- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
templateclass Type // variable cost (bytes) void insertion_sort(Type *a, int n) *a c1×n n c2, e.g. int占4bytes { Type key; // key c4 for (int i = 1; i n; i++){ // i c3 key=a[i]; // int j=i-1; // j c5 while( j=0 a[j]key ){ // a[j+1]=a[j]; // j--; // } a[j+1]=key; // } } 算法空间复杂性分析的基本法则(续) Smax(n) =Smin(n) =Savg(n) = ?(n) 二分搜索技术的空间复杂性S(n) 给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x。 int BinarySearch(Type a[], const Type x, int l, int r) { while (r = l){ int m = (l+r)/2; if (x == a[m]) return m; if (x a[m]) r = m-1; else l = m+1; } return -1; } ——分治,但非递归 说明:l—左,r—右 变量 空间占用 a[] c1*n x c5 l c2 r c3 m c4 S(n) = c1*n + c2 + c3 + c4 + c5 = ?(n) 1 4 6 8 9 12 15 17 a: x=12 最优算法 问题的计算时间下界为?(f(n)),则计算时间复杂性为O(f(n))的算法是最优算法。 ——对1个问题,其计算时间下界(即至少需要多长时间)是由问题本身决定的,可从理论上加以证明 —— 对1个解决该问题的算法A,计算时间复杂性为O(f(n)),即计算时间(的阶)至少不超过f(n) —— 最优算法A的计算时间(的阶)不超过问题本身决定的计算时间的下界(的阶) 例如,排序问题的计算时间下界为?(nlogn),计算时间复杂性为O(nlogn)的排序算法是最优算法。 堆排序算法是最优算法。 递归算法复杂性分析 int factorial(int n) /*阶乘 { if (n == 0) return 1; return n*factorial(n-1); } 递归算法的时间复杂性表示为递归方程,通过解递归方程,得到 二十世纪最伟大的十大算法 参考文献:The Best of the 20th Century: Editors Name Top 10 Algorithms。By Barry A. Cipra。地址:/faculty/rcli/TopTen/topten.pdf 一、1946 蒙特卡洛方法; 二、1947 单纯形法; 三、1950 Krylov子空间迭代法; 四、1951 矩阵计算的分解方法; 五、1957 优化的Fortran编译器; 六
您可能关注的文档
最近下载
- 水利工程环境影响分析与控制【毕业作品】.doc
- 2019 水电工程场内交通道路设计规范.docx
- 读后续写专项突破+课件-2025届高三英语上学期一轮复习专项.pptx VIP
- 水利工程施工技术骨料开采量的确定63骨料开采量的确定.pptx
- 航空机械零部件制造公司绩效管理方案.docx VIP
- “舌尖上的年味”春节全国各地美食习俗PPT模板工作总结汇报.pptx VIP
- 新版建设工程工程量清单计价标准解读.pptx VIP
- 读后续写Continuation+writing+课件-2025届高三英语上学期一轮复习专项.pptx VIP
- 辅警基础知识培训课件.pptx
- 高考英语词汇3500汉译英默写版.pdf VIP
文档评论(0)