- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子科技大学软件技术基础孟中楼
SCIE, University of Electronic Science and Technology of China * 1.4算法 算法的写作规范 int seq_search( elemtype s[ ],keytype k, int n) { int low, high, mid; s[n].key = k; i = 0; while(s[ i ].key != k) i++; if(i n) return i; else return -1; } 名称 输入参数 输出类型 使用的变量说明 初始化 算法主体部分 SCIE, University of Electronic Science and Technology of China * 四、在数据结构中常见的问题 创建、插入、删除、更新、检索、排序…… 注意:每个问题都有一种或多种算法 找到效率最高的 以最容易理解的方式设计 设计的算法不容易出错或出错情况较少 1.4算法 SCIE, University of Electronic Science and Technology of China * 五、算法和数据结构的关系 算法是建立在数据结构的基础上的 合理的数据结构常常可以有效的简化算法 只有明确了算法,才能较好的设计数据结构 程序=算法+数据结构 1.4算法 SCIE, University of Electronic Science and Technology of China * 六、算法的衡量 1.4算法 常用时间复杂度来衡量 算法评价有4个指标: 运行时间、占用空间、正确性和简单性 常用空间复杂度来衡量 SCIE, University of Electronic Science and Technology of China * 五、算法的衡量 1.4算法 注: 1) O()为渐近符号 2) 空间复杂度S(n)按数量级递增顺序也与上表类似。 复杂度高 复杂度低 时间复杂度T(n)按数量级递增顺序为: SCIE, University of Electronic Science and Technology of China * 1.4算法 3n+2=O(n) 因为 3n+2?4n for n?2 6*2n+n2=O(2n) 因为6*2n+n2 ?7*2n for n?4 例: 渐进符号(O)的定义:当且仅当存在一个正的常数 C,使得对所有的 n ? n0 ,有 f(n) ? Cg(n),则: f(n) = O(g(n)) SCIE, University of Electronic Science and Technology of China * 1.4算法 该算法的运行时间由程序中所有语句的频度(即该语句重复执行的次数)之和构成。 解: 分析:显然,语句①的频度是1。设语句2的频度是f(n),则有: 算法的时间复杂度是由嵌套最深层语句的频度决定的。 例:分析以下程序段的时间复杂度。 i=1; ① while(i=n) i=i*2; ② 即f(n)≤log2n,取最大值f(n)=log2n 所以该程序段的时间复杂度T(n)=1+f(n)=1+ log2n= O( log2n) SCIE, University of Electronic Science and Technology of China * 作业 教材P74 1、2、3、4、5 SCIE, University of Electronic Science and Technology of China SCIE, University of Electronic Science and Technology of China 软件技术基础 电子科技大学通信与信息工程学院 软件技术基础课题组 教师:孟中楼 Email:zlmeng@uestc.edu.cn SCIE, University of Electronic Science and Technology of China * 课程简介 教材和参考资料 教材:《软件技术基础》(第3版),黄迪明等编著,电子科技大学出版社,出版日期2009年7月 参考资料: 1《数据结构》清华大学出版社,严蔚敏等 2《计算机操作系统》西安电子科技大学出版社,汤子瀛 SCIE, University of Electronic Science and Technology of China * 课程简介 课程安排
文档评论(0)