当前位置: 代码迷 >> 综合 >> 5-9课:像“贪吃蛇”一样“吃掉”自己——递归
  详细解决方案

5-9课:像“贪吃蛇”一样“吃掉”自己——递归

热度:39   发布时间:2024-02-21 07:33:01.0

除了迭代式的快速排序,还有递归式的快速排序,在实现它之前,我们先来学习一个概念:递归。

这个概念非常重要,因此,关于它我们得多说两句。

递归(Recursion)

存在于多个领域

递归这一术语,应用面非常广泛,在语言学、逻辑学、数学和计算机科学中都有出现。

虽然在不同领域的具体定义不同,不过从直观上看,无论在哪个领域,递归就像一条贪吃蛇:所做得事情,是“自己吃自己”!

历史悠久

对一种自己吃自己的条状动物的描述,早在古埃及时期就有了,古埃及壁画中的含尾蛇(Ouroboros)就是这样一种形象。

含尾蛇由希腊学者引入欧洲,成为中世纪炼金术的符号。下图就是一副 15 世纪的炼金术小册子中的插图。

虽然炼金术含尾蛇的具体形象和上面那种可爱的胖胖相去甚远,但它们表达的含义都是一样的。

自食其尾的蛇揭示了递归的根本:递归是一个过程,在这个过程中有一个步骤援引了整个过程本身。

有效递归和无效递归

老和尚讲故事

先

  相关解决方案