版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机算法设计与分析第一章概述1.4.1算法的效率分析目的评估算法体现算法运行时所需要消耗的计算机资源占用CPU的计算时间量称为时间复杂度占用内存的存储空间量称为空间复杂度算法复杂度分析一般采用事前分析方式而是不事后统计法算法的效率分析算法的时间复杂度T和空间复杂度S的函数:T=T(N,I)S=S(N,I)N表示问题规模,I表示算法输入在实际应用中,关注时间效率多于空间效率。算法时间复杂度分析评估算法时间复杂度,应尽量做到客观反映算法的本质特征和属性。所以,算法时间复杂度分析应该要有一个不依赖于计算机硬件配置、问题规模和输入实例的抽象表示。算法时间复杂度分析假设在一台抽象的计算机上提供了k种元运算O1,O2,…,Ok,每个元运算执行的时间分别为t1,t2,...,tk。元运算通常指的是算法中最基本的操作步骤,一个元运算可以是基本的算术运算(如加法、减法、乘法、除法)、比较操作、赋值操作、数组访问或迭代循环等。算法时间复杂度分析T(N,I)表示算法在这台抽象计算机上运行所需要的的时间,设,在算法中
元运算Oi被调用的次数为ei,ei=ei(N,I),因此,T(N,I)一般化的表示:算法时间复杂度分析为消除公式中ti表示的元运算执行的具体时间,不妨假设所有的元运算都在一个单位时间内完成或者将ti抽象表示为一条执行语句或表达式所用时间,则计算T(N,I)的工作就变为统计计算语句的频度,从而简化复杂度的求解。例1.4插入排序问题时间复杂度计算
算法:插入排序(升序排序)
输入:数组元素array,元素个数n
输出:升序的数组元素arrayInsertSort(array,n):begin1fori
1ton–1do2key
array[i]3j
i–14whilej>=0andarray[j]>keydo5array[j+1]
array[j]//往后移动元素6 j
j–17 end8 array[j+1]
key9
endend当输入数据为1,2,3,4,5时,语句2、3、8被执行4次,语句5、6被执行0次。当输入数据为5,4,3,2,1时,语句2、3、8被执行4次,语句5、6被执行10次。算法时间复杂度分析对同一个算法,运行不同的输入实例时,算法语句执行的次数差异明显。实际上,在统计时间复杂度时,我们不可能对规模N的每一种合法输入都去统计各个算法语句执行的次数,这时就需要对输入实例做一个合理简化,即将输入实例进行特化。算法时间复杂度分析(1)最坏情况下的时间复杂度:IN是规模为N的合法输入集合,I*是IN中使T(N,I)达到Tmax(N)的合法输入。最坏情况下的时间复杂度就是将所有的合法输入实例中最坏的那个输入实例I*找出来,统计在输入实例I*时算法语句执行的次数来评估算法时间复杂度。算法时间复杂度分析(2)最好情况下的时间复杂度:I'是IN中使T(N,I)达到Tmin(N)的合法输入,将所有的合法输入实例中最好的那个输入实例I'找出来,统计在输入实例I'时算法语句执行的次数来评估算法时间复杂度。算法时间复杂度分析(3)平均情况下的时间复杂度:P(I)是算法应用中出现输入实例I的概率,全部合法输入实例的概率总和为1。平均时间复杂度是用每一个输入实例出现的概率,计算其数学期望。在分析算法时间复杂度的时候,往往关注的是最坏情况下算法的时间复杂度。例1.4插入排序问题时间复杂度计算
算法:插入排序(升序排序)
输入:数组元素array,元素个数n
输出:升序的数组元素arrayInsertSort(array,n):begin1fori
1ton–1do2key
array[i]3j
i–14whilej>=0andarray[j]>keydo5array[j+1]
array[j]//往后移动元素6 j
j–17 end8 array[j+1]
key9
endend语句2,3,8分别执行N-1次语句5,6执行的次数分为1,2,3,...,N-1次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场交通疏导措施方案
- 工程验收流程培训方案
- 钢结构施工焊工操作规程方案
- 某发电厂节能减排实施办法
- 施工材料管理与使用方案
- 建筑物拆除施工技术方案
- 企业员工考勤管理方案
- 工程特种作业管理方案
- 2026年春季学期高中高一年级地理备课组三月户外实践教学活动计划方案
- 广西壮族自治区百色市2026年中考化学模拟预测试卷(含答案解析)
- 2024ABB PIHF谐波滤波器用户手册
- DB3305∕T276-2023 生态联勤警务站建设与管理规范
- 国家职业标准 -碳排放管理员
- 销售加速公式培训课件
- 设备报废配件管理制度
- 冀教版五年级下册小学英语全册单元测试卷(含听力音频文件)
- 琉璃瓦施工合同协议书
- 《动物营养学》全套教学课件
- 车间物料流转管理制度
- 《人工智能安全导论》 课件 第五章 人工智能技术在网络入侵检测领域
- 《康复评定技术》课件-第二章 人体形态与反射评定技术
评论
0/150
提交评论