递归函数


简介

递归函数是一种在编码中使用的独特函数类型。它被定义为一个使用自身来执行其他项的函数。此函数通常用于确定阶乘数、回文数、数字的幂等。在本教程中,我们将学习递归函数的基本定义、递归定义的函数、算术和几何序列的公式以及一些已解决的示例。

递归定义

递归的意思是重复或自我调用。在计算机科学中,递归发生在一个函数重复自身时。递归函数定义为一个代码,它自身被用来计算序列的连续项。换句话说,在执行过程中调用自身的函数被称为递归函数。递归函数也用于简化复杂问题。让我们考虑一个现实生活中的例子来理解递归函数的定义。假设 Ram 有 12000 卢比现金。他想数它。但是,他独自数钱相当困难。因此,他让 Gopal 和 Hari 帮忙数钱。他们将钱随机分成三部分并开始计数。当他们完成计数后,Ram 将所有钱加起来,总和为 1200 卢比。如果 Ram 单独计数,总金额将是精确的。在编码中,这被称为递归。递归具有以下优点:

  • 复杂的问题可以分解成更简单的任务。

  • 递归通过缩短编码长度来节省时间和精力。

递归定义的函数

每个递归定义的函数都有两个组成部分。一个是序列的第一项(即最小值),记为 𝑓(0) 或 𝑓(1)。第二个是确定序列连续项的表达式,记为 𝑓(𝑝)。

我们将通过一个例子来理解这一点。让我们考虑一个序列 2、4、6、8 和 10。

在上面的例子中,序列的第一项 $\mathrm{=\:f(1)\:=\:2}$

确定序列连续项的表达式可以写成

$$\mathrm{f(n)\:=\:f(n\:-\:1)\:+\:2}$$

现在我们可以使用上面的表达式来计算序列的连续项,如下所示:

$$\mathrm{f(2)\:=\:f(1)\:+\:2\:=\:2\:+\:2\:=\:4}$$

$$\mathrm{f(3)\:=\:f(2)\:+\:2\:=\:4\:+\:2\:=\:6}$$

$$\mathrm{f(4)\:=\:f(3)\:+\:2\:=\:6\:+\:2\:=\:8}$$

$$\mathrm{f(5)\:=\:f(4)\:+\:2\:=\:8\:+\:2\:=\:10}$$

是什么使函数成为递归函数?

如果需要前一项才能找到序列,则称该函数为递归函数。这意味着我们需要 $\mathrm{(n\:-\:1)^{th}}$ 和 $\mathrm{(n\:-\:2)^{th}}$ 项来找到序列的 $\mathrm{n^{th}}$ 项。前一项对于确定给定序列是否为递归序列是必要的。通常,递归函数中会提供第一项以及序列项之间的相关性。

公式

假设一个序列由 𝑝1、𝑝2、𝑝3、𝑝4、……、𝑝𝑛 给出,遵循递归表达式。确定序列的 $\mathrm{n^{th}}$ 项的递归公式可以通过以下方式获得:

$$\mathrm{P_{n}\:=\:P_{n\:-\:1}\:+\:P_{1}}$$

上述公式也称为算术序列的递归公式。此外,几何序列的公式如下:

$$\mathrm{p_{n}\:=\:r\times\:p_{n\:-\:1}\:(其中\:r\:是公比)}$$

算术序列的递归公式

应该遵循以下步骤来推导算术序列的公式。

  • 步骤 1 - 检查序列是否为算术序列。这可以通过确定两个连续项之间的差值来验证。如果减法值保持不变,则该序列可以称为算术序列。

  • 步骤 2 - 计算序列的公差,并将其记为 h。

  • 步骤 3 - 使用公差在 $\mathrm{n^{th}}$ 项与其前一项(即 $\mathrm{(n\:-\:1^{th}}$)之间建立关联。因此,算术序列的递归公式可以表示为 $\mathrm{p_{n}\:=\:p_{n\:-\:1}\:+\:h}$

几何序列的递归公式

应该遵循以下步骤来推导算术序列的公式

  • 步骤 1:检查序列是否为几何序列。这可以通过计算两个连续项之间的比率来验证。如果比率值保持不变,则该序列可以称为几何序列。

  • 步骤 2:计算序列的公比,并将其记为 r。

  • 步骤 3:使用公比在 $\mathrm{n^{th}}$ 项与其前一项(即 $\mathrm{(n\:-\:1^{th}}$)之间建立关联。因此,几何序列的递归公式可以表示为 $\mathrm{p_{n}\:=\:r\times\:p_{n\:-\:1}}$。

已解决的问题

1) 给出如下序列:

$$\mathrm{-\frac{1}{2}\:,\:-\frac{1}{6}\:,\:\frac{1}{6}\:.\:\frac{1}{2}\:,\:\frac{5}{6}\:,\:\frac{7}{6}\:........}$$

计算上述序列的序列公式。

答案 −

第一步,我们必须检查序列是算术序列还是几何序列。

对于算术序列,存在公差。

因此,$\mathrm{-\frac{1}{6}\:-\:(\frac{1}{2})\:=\:\frac{1}{3}}$

$$\mathrm{\frac{1}{6}\:-\:(-\frac{1}{6})\:=\:\frac{1}{3}}$$

$$\mathrm{\frac{1}{2}\:-\:(-\frac{1}{6})\:=\:\frac{1}{3}}$$

$$\mathrm{\frac{5}{6}\:-\:(\frac{1}{2})\:=\:\frac{1}{3}}$$

因此,已验证给定序列是算术序列。

序列的公差 $\mathrm{=\:h\:=\:\frac{1}{3}}$

∴给定函数的递归公式为 $\mathrm{p_{n}\:=\:p_{n\:-\:1}\:+\:\frac{1}{3}}$

2)确定算术序列 $\mathrm{p_{n}\:=\:p_{n\:-\:1}\:-\:7}$ 的前 4 项。序列的第一项为 $\mathrm{p_{1}\:=\:3}$。

答案 −

给出:

序列的第一项为 $\mathrm{p_{1}\:=\:3}$

现在,使用递归公式

$$\mathrm{p_{2}\:=\:p_{1}\:-\:7\:=\:3\:-\:7\:=\:-4}$$

$$\mathrm{p_{3}\:=\:p_{2}\:-\:7\:=\:-4\:-\:7\:=\:-11}$$

$$\mathrm{p_{4}\:=\:p_{3}\:-\:7\:=\:-11\:-\:7\:=\:-18}$$

4) 给出如下序列:

$$\mathrm{\frac{1}{2}\:,\:\frac{1}{3}\:,\frac{2}{9}\:,\:\frac{4}{27}\:,\:\frac{8}{81}\:,\:.......}$$

计算上述序列的序列公式。另外,求序列的第 6 项。

答案 −

第一步,我们必须检查序列是算术序列还是几何序列。

对于几何序列,存在公比。

$$\mathrm{\frac{\frac{1}{3}}{\frac{1}{2}}\:=\:\frac{\frac{2}{9}}{\frac{1}{3}}\:=\:\frac{\frac{4}{27}}{\frac{2}{9}}\:=\:\frac{2}{3}}$$

因此,已验证给定序列是几何序列。

序列的公比 $\mathrm{=\:r\:=\:\frac{2}{3}}$

∴给定函数的递归公式为 $\mathrm{p_{n}\:=\:\frac{2}{3}\times\:p_{n\:-\:1}}$

∴序列的第 6 项为 $\mathrm{p_{6}\:=\:\frac{2}{3}\times\:p_{5}\:=\:\frac{2}{3}\times\:\frac{8}{81}\:=\:\frac{16}{243}}$

要点

  • 递归函数总是重复自身以获得序列的其他项。

  • 有必要检查序列是算术序列还是几何序列

  • 在算术序列中,存在公差,而在几何序列中存在公比。

结论

本教程简要介绍了递归函数。本教程简要描述了递归函数的定义以及一个示例。此外,本教程还推导了算术和几何序列的递归公式。此外,还提供了一些已解决的示例,以更好地理解此概念。总之,本教程可能有助于理解递归函数的基本概念。

常见问题

1. 递归函数的基本属性是什么?

递归函数具有三个基本属性,例如:

  • 它自身调用。

  • 它必须有一个基本情况。

  • 它必须改变其状态并朝着基本情况移动。

2. 递归函数中应该有多少项?

没有这样的限制。递归函数可以有有限或无限数量的项。

3. 递归和迭代有什么区别?

递归是在执行过程中自身重复,而迭代是重复执行特定指令。

4. 任何函数都可以是递归函数吗?

不可以。只有当函数调用自身时,才能称其为递归函数。

5. 递归函数的缺点是什么?

递归逻辑通常难以理解,并且在编码过程中会占用更多内存。

更新于:2024年4月8日

267 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告