我正在阅读Steven Skiena的The Algorithm Design Manual, 2nd Edition,遇到了一个问题。
在第二章中,他解释了算法分析,其中包括大O符号,但我不理解他对Stop and Think: Hip to the Squares?的解决方案。
问题:(x + y)2 = O(x2 + y2)是否成立?
他的解决方案是(x + y)2 <= 3(x2 + y2),这意味着c >= 3(从大O符号的定义中得出的常数)。
这是我的解决方案:
- (x + y)2 <= c(x2 + y2)
- x2 + 2xy + y2 <= c(x2 + y2)
- x = max(x, y)
- x2 + 2x2 + x2 <= c(x2 + x2)
- 4x2 <= 2cx2
- 2x2 <= cx2
- c >= 2
我错在哪里了?