我有这两个代码,问题是找到x = x + 1将在每种情况下运行多少次,因为T1(n)代表代码1而T2(n)代表代码2.然后我必须找到每个人的BIG,但是我知道该怎么做,事情就是我在找到x = x + 1将会运行多少次(当然n)。
代码1:
SELECT s.firstname, s.lastname, t.firstname, t.lastname
FROM students s
JOIN teachers t ON NOT EXISTS (
SELECT *
FROM stu_cou
JOIN tea_cou tc ON sc.courses_courseid = tc.courses_courseid
WHERE sc.students_studentid = s.studentid
AND tc.teachers_teacherid = t.teacherid
);
代码2:
for( i= 1; i <= n; i++)
{
for(j = 1; j <= sqrt(i); j++)
{
for( k = 1; k <= n - j + 1; k++)
{
x = x + 1;
}
}
}
我真的被困了,已经阅读了很多,所以我问是否有人可以帮助我,请分析解释。
PS:我认为在代码2中,这个for(j = 1; j <= n; j++)
{
h = n;
while(h > 0)
{
for (i = 1; i <= sqrt(n); i++)
{
x = x+1;
}
h = h/2;
}
}
将运行n * log(n)次,对吧?什么?