• 研究错排问题的方法


    枚举法[编辑]

    对于情况较少的排列,可以使用枚举法[3]

    • 当n=1时,全排列只有一种,不是错排,D1 = 0。
    • 当n=2时,全排列有两种,即1、2和2、1,后者是错排,D2 = 1。
    • 当n=3时,全排列有六种,即1、2、3;1、3、2;2、1、3;2、3、1;3、1、2;3、2、1,其中只有有3、1、2和2、3、1是错排,D3=2。用同样的方法可以知道D4=9。
    • 最小的几个错排数是:D1 = 0,D2 = 1,D3=2,D4 = 9,D5 = 44,D6 = 265,D7 = 1854.[4]

    递推数列法[编辑]

    对于排列数较多的情况,难以采用枚举法。这时可以用递归思想推导错排数的递回关系式

    显然D1=0,D2=1。当n≥3时,不妨设n排在了第k位,其中k≠n,也就是1≤k≤n-1。那么我们现在考虑第n位的情况。

    • 当k排在第n位时,除了n和k以外还有n-2个数,其错排数为Dn-2
    • 当k不排在第n位时,那么将第n位重新考虑成一个新的“第k位”,这时的包括k在内的剩下n-1个数的每一种错排,都等价于只有n-1个数时的错排(只是其中的第k位会换成第n位)。其错排数为Dn-1

    所以当n排在第k位时共有Dn-2+Dn-1种错排方法,又k有从1到n-1共n-1种取法,我们可以得到:

    Dn=(n-1)(Dn-1+Dn-2[2]

    在上面我们得到Dn=(n-1)(Dn-1+Dn-2)

  • 相关阅读:
    eclipse从接口快速跳转到实现类
    eclipse中mybatis的xml配置文件代码提示
    eclipse安装mybatis的插件
    eclipse修改默认的代码注释
    eclipse输入时自动提示
    eclipse中lombok注解不生效
    eclipse创建springboot项目
    家庭记事本(终)
    家庭记事本(6)
    人月神话(二)
  • 原文地址:https://www.cnblogs.com/fatt/p/6136249.html
Copyright © 2020-2023  润新知