算法时间复杂度问题,谢谢!最好有解释

2024-11-30 01:15:35
推荐回答(2个)
回答1:

选D,如果只是做题的话,猜答案就能猜到,两个都为O(n^2),则复杂度之差可能为O(n)和O(1),这个很简单吧,有两个对了,只能选D了。解释一下:如果一个算法为O(n^2),另一个为O(n^2/2),则从复杂度上来说都属于O(n^2),差值为O(n^2/2),所以也在O(n^2)这个级别上。如果一个为O(n^2+n),一个为O(n^2),差值为O(n)。

回答2:

选D
A1 = a1n^2+b1n+c1
A2 = a2n^2+b2n+c2
当a1≠a2时,差为O(n^2)
当a1=a2,b1≠b2时,差为O(n)
当a1=a2,b1=b2时,差为O(1)