解释清楚计算机科学专业术语“递归”是什么意思，并给出一个基于递归的算法示例。
定义“递归”，并提供一个简单的例子。
递归是一种解决问题的方法，它将问题分解为相同或相似的子问题，并通过不断地解决这些子问题来解决原始问题。递归通常涉及到函数或程序在其自身内部调用自身来实现。

一个基于递归的的算法，是计算斐波那契数列。斐波那契数列是一个数列，其中每个数字都等于前两个数字的和，以0和1开头。使用递归，可以编写一个函数 `fibonacci(n)` ，该函数返回斐波那契数列的第 n 个数。

```
def fibonacci(n):
   if n <= 1:
       return n
   else:
       return fibonacci(n-1) + fibonacci(n-2)
```

在此算法中，如果 n 小于等于1，则返回 n 。否则，函数将调用其自身两次，以计算第 n 个斐波那契数的值。

例如，要计算第 6 个斐波那契数：

```
fibonacci(6) = fibonacci(5) + fibonacci(4)
fibonacci(5) = fibonacci(4) + fibonacci(3)
fibonacci(4) = fibonacci(3) + fibonacci(2)
fibonacci(3) = fibonacci(2) + fibonacci(1)
fibonacci(2) = 1
fibonacci(1) = 1
```

将所有递归步骤逐一展开后，可以得到第 6 个斐波那契数是 8。