Data structures 数据结构递归关系

Data structures 数据结构递归关系,data-structures,recursive-query,Data Structures,Recursive Query,我需要帮助和你的提示来回答这类问题,因为我迷路了。。。 问题是: 有n封信,每封信都有它的信箱。 f(n)=将每封信放入错误邮箱的方式数。 我需要找到一个递归算法 这就是我目前的想法: f(n=1)=0 f(n=2)=1 对于n封信,您有(n-1)个选项将信放入错误的邮箱。 所以也许应该是这样的: n-1*(f(n-1)) 我不知道我的思维方向是否正确,我应该多多少少思考。 另外,如果你有一个资源,可以帮助我,我会非常高兴。 以下是选项: (第四种选择是所有答案都不对) 考虑n=4案例。我们一开

我需要帮助和你的提示来回答这类问题,因为我迷路了。。。 问题是: 有n封信,每封信都有它的信箱。 f(n)=将每封信放入错误邮箱的方式数。 我需要找到一个递归算法

这就是我目前的想法: f(n=1)=0 f(n=2)=1 对于n封信,您有(n-1)个选项将信放入错误的邮箱。 所以也许应该是这样的: n-1*(f(n-1))

我不知道我的思维方向是否正确,我应该多多少少思考。 另外,如果你有一个资源,可以帮助我,我会非常高兴。 以下是选项: (第四种选择是所有答案都不对)

考虑
n=4
案例。我们一开始有四个箱子。我们需要从
n-1
选项中选择字母1的方框。为了便于解释,假设我们选择了方框2

1  2  3  4
  /
1  2  3  4
现在有两种可能性

  • 第二封信寄到第一箱。然后,盒子和字母都有3和4。因此,有
    f(2)
    方法

  • 第二封信是用一个盒子而不是一个盒子邮寄的。然后,我们应该寻找一种排列字母1、3、4和方框2、3、4的方法,条件是字母1和2不成对。这与用同一组数字排列三个字母和方框的情况相同。因此有
    f(3)
    这样的方法

  • 将此逻辑推广为,
    f(n)=(n-1)*(f(n-2)+f(n-1))