33问答网
所有问题
当前搜索:
下面程序的时间复杂为
《数据结构》的题;求下列
程序
段
的时间复杂
度。要过程
答:
时间复杂
度是O(n^3)第一个for 进行n次循环 第二个for进行n+1次循环 第三个for进行n次循环乘法和赋值 设赋值和乘法的开销为a 那么 总开销为n*(n+1)*a n=a n^3+a n^2 省略小的开销得到an^3 所以时间复杂度为n^3
下列
程序
段
的时间复杂
度是: for(i=1;i<=n;i++) for(ji=1;j<=n;j++...
答:
时间复杂
度是O(n^2),因为有两层互不相关的循环。
分析
以下程序
段
的时间复杂
度,请说明分析的理由或原因。
答:
二、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)程序设计是给出解决特定问题
程序的
过程,是软件构造活动中的重要组成部分。程序设计...
分析下列
程序
段
的时间复杂
度。
答:
当i+j的值大于 n是
程序
停止 程序每次循环计数都是+1, 算法
复杂
度O(n)
以下程序
段
的时间复杂
度是多少,为什么?
答:
可以使用迭代法来求解。假设求n时
复杂
度为T(n)。可见算法的递归方程为: T(n) = T(n - 1) + O(1); //这是因为求fact(n),需要先计算出fact(n-1) (复杂度为T(n-1)),再与n相乘(这部计算复杂度为O(1))迭代展开: T(n) = T(n - 1) + O(1)= T(n - 2) + O(1...
下面程序
段
的时间复杂
度是
答:
这个
程序
是死循环,不能正常运行的。i = 1;while(i<=N)i = i * 3;它
的时间复杂
度是O(Log3(N))
求下列
程序
段
时间复杂
度,请写出分析过程
答:
外循环执行N次,而每次内循环执行i^2次,所以
时间复杂
度是:O(1^2+2^2+...+(N-2)^2+(N-1)^2)再利用公式:1^2+2^2+...+(N-1)^2=N*(N-1)*(2*N-1)/6 可得时间复杂度是:O(N^3)
分析下列
程序
段
的时间复杂
度。
答:
首先, 这段代码有问题。。 else后面没有分号或者是你没有贴全。分析: j 的值没有变过,i 不断自增直到 i + j = n , 循环执行n次, 所以
时间复杂
度是O(n).
给出
下面
几个C语言
程序
段
的时间复杂
度。要求写出计算过程 ,谢谢了,在线...
答:
求
时间复杂
度只需找出执行次数最多的那条语句。对于第一个,设执行次数为k,则i最终等于k^5=n; 解出k即可;对于第二个,设执行次数为k,则最终有k^2=n;解出k;对于第三个,if语句执行n/3次,单独看里面的for执行(n-n/3)次,结合if语句,则最终有 (n-n/3)*n/3 ,时间复杂度一眼...
麻烦告知一下怎么算下列
程序
段
的时间复杂
度,谢谢!
答:
O(n),一重循环,并且循环次数和n线性相关。要计算的话就是:循环中的基本语句执行次数T(n)=2*(n-1)=2n-2,存在正的常数c,n0使得对于任意n>=n0时有T(n)<=c*n,所以这个
时间复杂
度是O(n)
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
组成数据的基本单位是
下面对进程的描述中错误的是
算法分析的两个主要方面是
线性结构是数据元素之间存在一种
算法的时间复杂度
算法分析的目的是
栈是先进后出还是后进先出
下面程序的时间复杂度是
计算下面程序段的时间复杂度