C++ 算法与递归

C++ 算法与递归,c++,algorithm,C++,Algorithm,解决复发的能力有多重要?对最坏情况下的运行时间有一个上限就足够了,也许只是通过查看代码结构来了解一个松散的上限。我的意思是,在这种情况下,它就足够了,而不是完全解决它吗 从实用的角度来看,这是业界需要的技能吗?在我看来,重要的是要对算法的扩展有一个好的想法:如果输入翻倍将使程序不消耗额外的计算资源,如果程序将使用2、4或8倍的资源,甚至更多。能够推导出一个严格的上界是很好的,但在我看来这并不是必要的。自从我大学毕业后,我从未解过一个递推方程。通过快速分析,通常很明显某些代码的算法复杂性是什么。就

解决复发的能力有多重要?对最坏情况下的运行时间有一个上限就足够了,也许只是通过查看代码结构来了解一个松散的上限。我的意思是,在这种情况下,它就足够了,而不是完全解决它吗


从实用的角度来看,这是业界需要的技能吗?

在我看来,重要的是要对算法的扩展有一个好的想法:如果输入翻倍将使程序不消耗额外的计算资源,如果程序将使用2、4或8倍的资源,甚至更多。能够推导出一个严格的上界是很好的,但在我看来这并不是必要的。

自从我大学毕业后,我从未解过一个递推方程。通过快速分析,通常很明显某些代码的算法复杂性是什么。就我的经验而言,即使是这种技能也不是特别重要。因此,这不是一个真正适合的地方,也许是stackexchange上的其他地方,比如计算机科学?@john。如果我在设计一个算法,运行时间重要吗?这个问题不能通过解决一个问题来回答,它也与任何技术问题无关,因此它不属于SO。最好问问程序员。这是一个更欢迎基于意见的一般性问题的地方。为了提供@luk32所说内容的链接,我建议你去那里提问。这是一个更好的场所。如果差异类似于
n^2.91
n^3
。如果你在一个2.91和3之间的差异很重要的领域工作,你可能已经知道如何解决复发问题。