假设我们有一个问题,某个算法(我们称之为算法_1)的时间复杂度为 ,O(n^2)
另一个算法(我们称之为算法_2)的时间复杂度为O(n)
,但实际上我们看到n < 1000
算法_1 更快,否则算法_2 更快是比较快的。
为什么我们不能直接写这样的代码:
if ( n < 1000)
do algorithm_1
else
do algorithm_2
Run Code Online (Sandbox Code Playgroud)
这是程序员真正做的事情还是有缺点?
对于较小的程序,这似乎是一个好主意。