递归函数
简介
递归函数是一种在编码中使用的独特函数类型。它被定义为一个使用自身来执行其他项的函数。此函数通常用于确定阶乘数、回文数、数字的幂等。在本教程中,我们将学习递归函数的基本定义、递归定义的函数、算术和几何序列的公式以及一些已解决的示例。
递归定义
递归的意思是重复或自我调用。在计算机科学中,递归发生在一个函数重复自身时。递归函数定义为一个代码,它自身被用来计算序列的连续项。换句话说,在执行过程中调用自身的函数被称为递归函数。递归函数也用于简化复杂问题。让我们考虑一个现实生活中的例子来理解递归函数的定义。假设 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. 递归函数的缺点是什么?
递归逻辑通常难以理解,并且在编码过程中会占用更多内存。