请问这两题的时间复杂度是多少? 1.for(i=0;i<n;i++) for(j=0;j<m;j++) a[i][j]=0;

2.for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
A[i][j]=i*j;

都是m*n。时间复杂度主要用于一个问题的不同算法之间比较,单位是基本运算。(1)中基本运算是赋值,(2)中基本运算是相乘。追问

可是第二道的答案是n*n

追答

你可以考虑一下是不是答案错了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-13

m*n
for(j=0;j<m;j++) A[i][j]=0;执行了n次
则A[i][j]=0执行了m*n次。
第2个回答  2011-09-12
O(m*n)
第3个回答  2011-09-12
1、T=O(m*n)
2、T=O(m*n)追问

可是第二道的答案是n*n

追答

如果不精确的说的话,n*n也是对的;精确来讲,答案就错了;
时间复杂度本身就是一个粗略的估计值,没必要太纠结

追问

额……这是两道选择题来的,不是我纠结,总得选个答案吧,呵呵,谢谢你的回答啊

本回答被提问者采纳
相似回答