私はgeekforgeeksLongest Common Subsequence
での問題の解決に関する記事を読んでいました。そこでは、2つの解決策があります。1つは再帰的で、もう1つは2次元配列によるDPを介したものです。DPソリューションは時間内にそれを実行しますが、再帰的ソリューションは時間内にそれを実行します。O(NM)
O(2^N)
再帰的ソリューションの主な問題は、そこに示されているように、サブシーケンスのオーバーラップが発生することです。ただし、各ペアをハッシュに格納すると、次に関数の再帰でその値が必要になったときに、さらに再帰するのではなく、ハッシュから値を直接フェッチできます。では、この追加によって効率はどの程度向上するのでしょうか。来るのO(NM)
でしょうか?
そして第二に、再帰的ソリューションはどうして時間を生み出すO(2^N)
のでしょうか?このような再帰関数の複雑さを見つける方法、またはフィボナッチ数列などを見つける方法はありますか?