我已经为解决相同问题的两种算法提供了运行时函数。比方说——
对于第一个算法:T(n) = an + b
(n中的线性)
对于第二个算法:T(n) = xn^2 + yn + z
(n中的二次)
每本书都说时间线性优于二次,当然它适用于更大n
(多大?)。我觉得 Big changes的定义基于常量a
、b
、x
和。y
z
您能否告诉我如何找到n
我们应该何时从 algo2 切换到 algo1 的阈值,反之亦然(是否只能通过实验找到?)。如果有人能解释它是如何在专业软件开发组织中完成的,我将不胜感激。
如果不能,我希望我能够解释我的问题,请告诉我。
在此先感谢您的帮助。
PS - 该实现将使用 Java 并有望在各种平台上运行。我发现很难用数学方法估计常数、a
、b
和x
。我们如何解决专业软件开发中的这一困境?y
z