我正在阅读一篇关于解决geekforgeeksLongest Common Subsequence
问题的文章,其中有两种解决方案,一种是递归的,另一种是通过二维数组通过 DP。DP解决方案及时完成,而递归解决方案及时完成。O(NM)
O(2^N)
递归解决方案的主要问题是出现子序列的重叠,正如那里给出的那样。但是,如果我将每一对存储在哈希中,以便下次函数递归需要该值时,它可以直接从哈希中获取值,而不是进一步递归。那么这个加法能提高多少效率呢?它会来O(NM)
吗?
其次,递归解决方案如何产生O(2^N)
时间?如何找出像这样的递归函数的复杂性,或者找到斐波那契数列的函数等等?