- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题1
设n为正整数,利用大“O”记号,将下列程序段的执行时间表示为n的函数。
(1) i=1; k=0;
while(in)
{ k=k+10*i;i++;
}
解析:
i=1; //1
k=0; //1
while(in) //n
{ k=k+10*i; //n-1
i++; //n-1
}
由以上列出的各语句的频度,可得该程序段的时间消耗:
T(n)=1+1+n+(n-1)+(n-1)=3n
可表示为T(n)=O(n)
(2) i=0; k=0;
do{
k=k+10*i; i++;
}
while(in);
解析:
i=0; //1
k=0; //1
do{ //n
k=k+10*i; //n
i++; //n
}
while(in);//n
由以上列出的各语句的频度,可得该程序段的时间消耗:
T(n)=1+1+n+n+n+n=4n+2
可表示为T(n)=O(n)
(3) i=1; j=0;
while(i+j=n)
{
if (ij) j++;
else i++;
}
解析:
通过分析以上程序段,可将i+j看成一个控制循环次数的变量,且每执行一次循环,i+j的值加1。该程序段的主要时间消耗是while循环,而while循环共做了n次,所以该程序段的执行时间为:
T(n)=O(n)
(4) x=91; y=100;
while(y0)
if(x100)
{x=x-10;y--;}
else x++;
解析:
x=91; //1
y=100; //1
while(y0) //1101
if(x100) //1100 { x=x-10; //100
y--; //100
}
else
x++; //1000
以上程序段右侧列出了执行次数。该程序段的执行时间为: T(n)=O(1)
三. 按增长率由小至大的顺序排列下列各函数:
2100, (3/2)n,(2/3)n, nn ,n0.5 , n! ,2n ,lgn ,nlgn, n(3/2)
常数阶0(1)
对数阶0(log2n)
线性阶0(n)
线性对数0(nlog2n)
平方阶0(n2)
立方阶0(n3)
k次方阶0(nk)(k3)
指数阶0(2n)
常数阶0(1):
对数阶0(log2n): lgn
线性阶0(n):
线性对数0(nlog2n):
平方阶0(n2):
立方阶0(n3):
k次方阶0(nk): n0.5、n(3/2) 、nlgn
指数阶0(2n): (3/2)n、2n、 n!、 nn
(2/3)n由于底数小于1,所以是一个递减函数,其数量级应小于常数阶。
三. 按增长率由小至大的顺序排列下列各函数:
2100, (3/2)n,(2/3)n, nn ,n0.5 , n! ,2n ,lgn ,nlgn, n(3/2)
(2/3)n 2100 lgn n0.5 n(3/2)
nlgn (3/2)n 2n n! nn
您可能关注的文档
最近下载
- 部编版八年级上册历史基础知识填空.docx
- 小学五年级上全册人自然社会教案可打印.doc
- DB11∕T 1598.3-2019 居家养老服务规范 第3部分:助医服务.docx VIP
- 人教版高中物理电学实验要点总结.pdf VIP
- 普通高中课程标准2023.pdf
- 幼儿园幼儿出游安全应急预案.docx VIP
- 2024浙江省执业药师继续教育答案-中医虚症辨证用药.docx VIP
- DB11_T 1598.2-2019 居家养老服务规范 第2部分:助餐服务.PDF VIP
- 简谱 爱永在 沂蒙山 王传亮.pdf
- 小学一年级音乐下(第三单元 音乐中的动物: 唱歌 咏鹅):C1跨学科学习活动设计-教学方案设计+学生学习成果+学习成果点评[2.0微能力获奖优秀作品].docx
文档评论(0)