- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章绪论第5讲-算法分析基础
1.3 算法分析基础 ; 一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作,如+、-、*、/、++和--等)构成的。算法执行时间取决于两者的综合效果。;例如:;算法分析方式:;求出算法所有原操作的执行次数(也称为频度) ,它是问题规模n的函数,用T(n)表示。
算法执行时间大致 = 原操作所需的时间×T(n)。所以T(n)与算法的执行时间成正比 。为此用T(n)表示算法的执行时间。
比较不同算法的T(n)大小得出算法执行时间的好坏。;#define MAX 20 //定义最大的方阶
void matrixadd(int n,int A[MAX][MAX],int B[MAX][MAX],
int C[MAX][MAX])
{ int i,j;
for (i=0;in;i++) //①
for (j=0;jn;j++) //②
C[i][j]=A[i][j]+B[i][j]; //③
};#define MAX 20 //定义最大的方阶
void matrixadd(int n,int A[MAX][MAX],
int B[MAX][MAX], int C[MAX][MAX])
{ int i,j;
for (i=0;in;i++) //①
for (j=0;jn;j++) //②
C[i][j]=A[i][j]+B[i][j]; //③
};算法中执行时间T(n)是问题规模n的某个函数f(n),记作:
T(n) = O(f(n)); “O”的形式定义为:
T(n) = O(f(n))表示存在一个正的常数M,使得当n≥n0时都满足:
|T(n)|≤M|f(n)| ; 也就是只求出T(n)的最高阶,忽略其低阶项和常系数,这样既可简化T(n)的计算,又能比较客观地反映出当n很大时算法的时间性能。 ;一个没有循环的算法的执行时间与问题规模n无关,记作O(1),也称作常数阶。
一个只有一重循环的算法的执行时间与问题规模n的增长呈线性增大关系,记作O(n),也称线性阶。
其余常用的算法时间复杂度还有平方阶O(n2)、立方阶O(n3)、对数阶O(log2n)、指数阶O(2n)等。; 各种不同算法时间复杂度的比较关系如下:
O(1)O(log2n)O(n)O(nlog2n)O(n2)O(n3)O(2n)O(n!);算法中的基本操作一般是最深层循环内的原操作。
算法执行时间大致 = 基本操作所需的时间 ×其运算次数。 ;#define MAX 20 //定义最大的方阶
void matrixadd(int n,int A[MAX][MAX],int B[MAX][MAX],
int C[MAX][MAX])
{ int i,j;
for (i=0;in;i++)
for (j=0;jn;j++)
C[i][j]=A[i][j]+B[i][j];
}; 解:该算法中的基本操作是两重循环中最深层的语句C[i][j]=A[i][j]+B[i][j],分析它的频度,即:
T(n) =
= O(n2);思考题
下列程序段的时间复杂度是 。;void func(int n)
{ int i=0,s=0;
while (sn)
{ i++;
s=s+i;
}
}; 解:对于while循环语句,设执行的次数为m,变量i从0开始递增1,直到m为止,有:; 空间复杂度:用于量度一个算法在运行过程中临时占用的存储空间大小。
一般也作为问题规模n的函数,采用数量级形式描述,记作:
S(n) = O(g(n)) ; 【例(补充)】 分析如下算法的空间复杂度。 ;为什么空间复杂度分析只考虑临时占用的存储空间?;思考题
为什么算法的时、空分析都采用复杂度的形式表示?; ━━本讲完━━
您可能关注的文档
- 第1章-信息安全概述.ppt
- 第1章1.1.1构成空间几何体的基本元素.ppt
- 第1章1.1.3圆柱、圆锥、圆台和球.ppt
- 第1章-室外给排水工程概述.ppt
- 第1章_信号及其描述.ppt
- 第1章_土石方工程.ppt
- 第1章CAD操作基础.ppt
- 第1章__集成电路制造工艺.ppt
- 第1章_性能指标与影响因素修改.ppt
- 第1章__计算机基础知识(针对书).ppt
- 绿电2022年系列报告之一:业绩利空释放,改革推动业绩反转和确定成长.docx
- 化学化工行业数字化转型ERP项目企业信息化规划实施方案.pdf
- 【研报】三部门绿电交易政策解读:溢价等额冲抵补贴,绿电交易规模有望提升---国海证券.docx
- 中国债券市场的未来.pdf
- 绿电制绿氢:实现“双碳”目标的有力武器-华创证券.docx
- 【深度分析】浅析绿证、配额制和碳交易市场对电力行业影响-长城证券.docx
- 绿电:景气度+集中度+盈利性均提升,资源获取和运营管理是核心壁垒.docx
- 节电产业与绿电应用年度报告(2022年版)摘要版--节能协会.docx
- 2024年中国人工智能系列白皮书-智能系统工程.pdf
- 如何进行行业研究 ——以幼教产业为例.pdf
文档评论(0)