版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机算法设计与分析第一章概述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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 隔墙施工方案范本(3篇)
- 通渭秧歌活动方案策划(3篇)
- 揭阳灯饰施工方案(3篇)
- 海口围墙施工方案(3篇)
- 施工方案如何考虑(3篇)
- 排水施工方案撰写(3篇)
- 物业管理费用收支管理手册(标准版)
- 热力施工安全培训课件
- 2025年中职药物分析技术(药物检测实操)试题及答案
- 2025年中职(烹饪工艺与营养)西式烹调工艺测试卷及答案
- 施工员个人工作总结课件
- 四川省泸州市2026届数学高二上期末统考试题含解析
- 2026湖北武汉市文旅集团市场化选聘部分中层管理人员4人笔试参考题库及答案解析
- 中国金融电子化集团有限公司2026年度校园招聘备考题库及一套完整答案详解
- 生物实验探究教学中学生实验探究能力培养与评价体系研究教学研究课题报告
- 校园跑腿行业数据分析报告
- 2025年塔吊指挥员考试题及答案
- 2025福建闽投永安抽水蓄能有限公司招聘21人备考题库附答案
- 2025年昆明市呈贡区城市投资集团有限公司及下属子公司第二批招聘(11人)备考考试题库及答案解析
- 2026广东东莞市公安局招聘普通聘员162人笔试考试备考题库及答案解析
- 2025中国高净值人群品质养老报告-胡润百富-202512
评论
0/150
提交评论