龙空技术网

趣味算法——递归

盎通科技Airtom 249

前言:

而今小伙伴们对“递归算法的好处”都比较关切,姐妹们都想要分析一些“递归算法的好处”的相关文章。那么小编也在网上搜集了一些有关“递归算法的好处””的相关文章,希望兄弟们能喜欢,兄弟们一起来了解一下吧!

但是手提箱上有一把很大的锁,小N问奶奶怎么才能打开箱子?奶奶给了小N一个大盒子,告诉小N,钥匙就在盒子里

小N奶奶给的这个盒子,是大盒子套装一堆小盒子,每个小盒子里面还有盒子。而盒子里面还有盒子。钥匙就在某个盒子里面。为了找到钥匙,小N该用哪种算法呢?

小A是小N的小伙伴,他来给小N提供了一种算法:

普通方法使用的是while循环:只要盒子堆不空,就从中 取一个盒子,并在其中仔细查找。

小N是个“懒”孩子,哭着说“不要,不要!”

第二种方法使用递归——函数调用自己,这种方法的伪代码如下

这两种方法的作用相同,但从小A看来,第二种方法更清晰。递归只是让解决方案更清晰,并 没有性能上的优势。实际上,在有些情况下,使用循环的性能更好。

如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解。如何选择要看什么对你来说更重要。

——Leigh Caldwell

标签: #递归算法的好处