美文网首页
程序员的数学I

程序员的数学I

作者: 锅巴GG | 来源:发表于2016-02-11 23:29 被阅读32次

排列组合II

  • 思考:从5张牌中任意取出3张进行排列(permutation),请问有多少种排列方法?
  1. 排列和置换相同,是考虑顺序的,比如QKA和AKQ是两个不同的排列
  2. 按照如下计算方式:
    • 第1张的取法有5种
    • 第2张的取法有4种
    • 第3张的取法有3种

由此可得,5 x 4 x 3 = 60

归纳一下

排列的归纳方法: 假设从n张牌中取出k张牌进行排列

  • 第1张是从n张中取出1张,因此有n种取法
  • 第2张是从n-1张中取出1张,因此有n-1种取法
  • 第3张是从n-2张中取出1张,因此有n-2种取法
  • 第k张是从n-k+1中取出1张,因此有n-k+1种取法
    因此,总数是 n x (n-1) x (n-2) x ... x (n-(k-1))

其实用树形图更能认清楚计数过程的本质

计数的层次就是一个递减的过程

组合

置换和排列都需要考虑顺序,而不考虑顺序的方法称为“组合”
假设现在有1,2,3,4,5五张牌,从5张牌中抽取3张,并不考虑他们的顺序,即以3张牌为1组进行选择,重复的视为同一组,例如:123和321和213,所以取法一共有10种
这种取法称为“组合”(combination)

  • 首先,和排列一样“考虑顺序”进行计数
  • 除以重复技术的部分(重复度)
  • 所以:组合总数=5张里面取3张的排列总数/3张的置换总数)
    5 x 4 x 3 / (3 x 2 x 1) = 10

结论 置换和组合相结合,就是排列。

  • 置换表示3张牌的交替排列方法
  • 组合表示3张牌的取法
  • 两者的结合就是取出3张牌,进行交替排列,即表示排列

相关文章

  • 《程序员的数学I》

    简书不支持LaTex... 余数 周期性和分组 思考:奇数和偶数 奇数是被2除余1的整数偶数是被2整除(余0)的...

  • 程序员的数学I

    排列组合 I 解决计数问题的方法 计数——与整数的对应关系 计数就是计数对象和整数的对应起来的过程,注意两点:遗漏...

  • 程序员的数学I

    数序归纳法——如何征服无穷序列 高斯求和 思考题——存钱罐里的钱 第1天,往存钱罐里投入1元,存钱罐总金额为1元第...

  • 程序员的数学I

    递归——自己定义自己 GNU是什么的缩写?“GNU is Not Unix”这里面的GNU又是什么的缩写?“GNU...

  • 程序员的数学I

    排列组合II 思考:从5张牌中任意取出3张进行排列(permutation),请问有多少种排列方法? 排列和置换相...

  • 程序员的数学I

    递归——自己定义自己2 思考:和的定义 假设n为0以上的整数,使用递归的方式从0到n的整数之和。n=0时, S(n...

  • Atitit 程序员的数学艾提拉读后感 1.1.程序员的数

    Atitit 程序员的数学艾提拉读后感 [if !supportLists]1.1.[endif]程序员的数学 第...

  • 一份必不可少的程序员“内功”书单

    含PDF下载链接,后期持续更新 大话设计模式 大话数据结构 代码整洁之道 程序员的数学1-数学思维 程序员的数学2...

  • 《程序员的数学》轻松掌握“数学思维”,附下载链接

    对于程序员来说,数学很重要吗?如果数学不好,是否可以成为一名程序员呢?答案是肯定的。 不可否认,行业中许多程序员,...

  • 书单

    《3D数学基础》《代码大全2》《CLR Via C#》《程序员的数学》

网友评论

      本文标题:程序员的数学I

      本文链接:https://www.haomeiwen.com/subject/herukttx.html