分析下列程序段的时间复杂度。

分析下列程序段的时间复杂度。,第1张

首先, 这段代码有问题。。 else后面没有分号或者是你没有贴全。

分析: j 的值没有变过,i 不断自增直到 i + j = n , 循环执行n次, 所以时间复杂度是O(n)

1),2)o(N),3)O(N^(1/2)),4)O(y)不过这里有点歧义,因你y=100是常数所以似乎O(1)更合适没有y=100;O(y);有了y=100,O(1)更合适因为循环也就执行1000次左右,x,y都是有界的(所以常量时间和数据规模无关了。

一、O(n) : n次循环内执行两条命令, 总计2n忽略常数则O(n)

二、O(n^2) : n次循环内, 第i次循环执行i条命令, 则时间复杂度为O(1+2+3+n), 则为O(n(n+1)/2)忽略常数为O(n^2)

三、O(n) : 在栈内从n递归到1需要递归n层, 每层执行一次乘法则为O(n)

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。

任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。

以上就是关于分析下列程序段的时间复杂度。全部的内容,包括:分析下列程序段的时间复杂度。、求下列程序段的时间复杂度、分析以下程序段的时间复杂度,请说明分析的理由或原因。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9356134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存