
请问这两题的时间复杂度是多少? 1.for(i=0;i<n;i++) for(j=0;j<m;j++) a[i][j]=0;
2.for(inti=0;i<m;i++)for(intj=0;j<n;j++)A[i][j]=i*j;...
2.for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
A[i][j]=i*j; 展开
for(int j=0;j<n;j++)
A[i][j]=i*j; 展开
4个回答
展开全部
都是m*n。时间复杂度主要用于一个问题的不同算法之间比较,单位是基本运算。(1)中基本运算是赋值,(2)中基本运算是相乘。
追问
可是第二道的答案是n*n
追答
你可以考虑一下是不是答案错了。
展开全部
m*n
for(j=0;j<m;j++) A[i][j]=0;执行了n次
则A[i][j]=0执行了m*n次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、T=O(m*n)
2、T=O(m*n)
2、T=O(m*n)
更多追问追答
追问
可是第二道的答案是n*n
追答
如果不精确的说的话,n*n也是对的;精确来讲,答案就错了;
时间复杂度本身就是一个粗略的估计值,没必要太纠结
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询