内容简介

本章内容主要介绍了两个基本概念,排序与组合
其中组合是之后计算二项分布的预备知识
对于计算而言,重点在于理解其所适应的不同情况,并记忆公式.
两者区别(P261):
1. 排列与顺序有关
2. 组合与顺序无关

或许理解其使用的不同情况还有一些困难,
但是仅仅对于编程而言,本章内容可以说出奇的简单,我们只需要编写阶乘公式,然后组合一下就可以了

编码

思路

从公式上看,组合公式不过比排列公式多了一个阶乘作为分母,而其构成则不过都是阶乘公式而已.
因此我们先编写阶乘公式,然后进行公式拼接即可.
这里我们给出最常用的两种阶乘公式的实现方式,在数值较小时,两者速度差异可以忽略.

两种阶乘公式的实现

import numpy as np
def Factorial_Recursion(n):if n==1 & n==0:return 1else:return n*Factorial_Recursion(n-1)def Factorial_Loop(n):if n==1 & n==0:return 1else:result = n;for i in range(2,n):result *= ireturn result
print("5的阶乘 {0}".format(Factorial_Loop(5)))
print("5的阶乘 {0}".format(Factorial_Recursion(5)))
5的阶乘 120
5的阶乘 120

实现排列与组合

为了复用代码,我们这里将组合与排列合并,并将组合视为排列的一种部分元素无顺序的特殊性情况.
然后我们利用编写的函数计算文中258页到260页的问题:
1. 20匹马的冠亚季军编号
2. 20匹马的前三名编号(无视先后顺序)

# 排列 permutation
# 组合 combination
def Permutation(n,r,IsCombination=False):if IsCombination:return Factorial_Loop(n)/Factorial_Loop(n-r)/Factorial_Loop(r)else:return Factorial_Loop(n)/Factorial_Loop(n-r)print("冠亚季军编号一共有{0}种情况,但是无视前后顺序的话,则有{1}种情况".format(Permutation(20,3),Permutation(20,3,IsCombination=True)))
冠亚季军编号一共有6840.0种情况,但是无视前后顺序的话,则有1140.0种情况

深入浅出统计学 第六章 排列与组合相关推荐

  1. 深入浅出统计学第七章 几何分布,二项分布,柏松分布

    简介 <深入浅出统计学>第七章详细介绍了三种概率分布及其应用,而我们则将进行程序编写,来计算这三种概率分布. 几何分布 scipy几何分布原文地址 下面是书中一些重要公式的代码实现,此处我 ...

  2. 深入浅出统计学 第四五章 离散概率的计算与分布

    离散概率计算与分布的应用 在原书的这两章离散概率计算与分布的应用,重点在于概念的理解和公式的记忆. 而对于整本书而言,四五六章其实都作为第七章:三种离散概率分布,第八,九章,正态分布(连续概率分布之一 ...

  3. 深入浅出统计学 第二三章 量度

    量度 两类量度: (1) 集中趋势的量度->平均值,中位数,众数 (2) 分散性与变异性的亮度->全距(极值),四分位数(扩展:箱型图),方差与标准差,标准分 获取数据 import pa ...

  4. 深入浅出ExtJS 第六章 布局

     6.1 布局的用途 1 6.1 布局的用途 2 //决定把什么东西放到什么位置; 3 var vieport = new Ext.Viewport({ 4 layout:'border', //使用 ...

  5. 医学统计学 第六章(总体均数的估计)

    第一节均数的抽样误差与标准误 1.抽样误差 由于随机抽样的偶然因素使样本各单位的结构不足以代表总体各单位的结构,而引起抽样指标和全局指标的绝对离差. 2.样本均数的抽样分布特点 各样本均数未必等于总体 ...

  6. 整理总结:深入浅出统计学——排列与组合

    参考资料:电子工业出版社的<深入浅出统计学> 前言 顺序是概率计算过程中不可避免的事情,通过学习简便方法来完成概率计算的进阶. 本篇目录 参考资料:电子工业出版社的<深入浅出统计学& ...

  7. 深入浅出统计学 第一章 数据的可视化

    序言 在深入浅出统计学的第一张中一共出现了4类图像: 1. 比较基本比例->饼图 2. 比较数值的高低条形图(基本条形图,堆积条形图,分段条形图) 3. 连续数据的对比(等距直方图->频数 ...

  8. 【离散数学中的数据结构与算法】六 排列与组合二

    接着上一篇学习:[离散数学中的数据结构与算法]五 排列与组合一 上一篇文章主要学习了可重复选取的可重排列和不可重复选取的排列.他们都是在n个不同的对象中选取. 今天我们俩学习的是,当这个n个对象中有相 ...

  9. 统计学:第六章-总体均数得估计

    统计学:第六章-总体均数得估计 雪柯 大工生物信息 提笔为写给奋进之人 已关注 致知计划 · 科学季收录 点击报名 29 人赞同了该文章 该书作者:李晓松 本文引自医学统计学教材,作为统计学入门经典教 ...

最新文章

  1. 【git】git入门之把自己的项目上传到github
  2. 循环for语句 if语句
  3. 布谷鸟哈希函数的参数_用于并发读密集型的乐观Cuckoo(布谷鸟) Hashing
  4. ASP.NET MVC雕虫小技 1-2
  5. boost::filesystem模块实现打印boost配置信息的测试程序
  6. 一天干掉一只Monkey计划(二)——热流扰动,径向模糊
  7. org.apache.hadoop.hive.metastore.api.InvalidObjectException: Role public already exists.
  8. python有趣函数_python中有趣的函数
  9. 历史上有关人工智能的七个片段
  10. 10个最佳jQuery Lightbox效果插件收集
  11. eclipse 编码设置之BOM丢失
  12. 801机械设计2017题签
  13. layui 表单 验证整数
  14. 基于Matlab/Simulink的1/4车辆动力学模型
  15. diy服务器个人主机_DIY双路服务器之个人主机
  16. 图像压缩工具ImageOptim介绍
  17. 小程序的申请开通需要什么条件
  18. adb 查看屏幕大小_如何从adb命令行获取Android设备的屏幕尺寸?
  19. PDF转Excel(PS:学习使用VBA处理Excel)
  20. 【转】什么是公网安备

热门文章

  1. vue post请求后台django接口Forbidden (CSRF token missing or incorrect.)
  2. 「基本功」不可不说的Java“锁”事
  3. 一千个不用 Null 的理由,你还用?
  4. 面试还在被红-黑树虐?看完这篇动图文章轻松反虐面试官
  5. 这 30 个常用的 Maven 命令你必须熟悉!
  6. 厉害了,BATJ 必考的 Java 面试题!
  7. eclipse中提交git总是要求输入用户名、密码
  8. Android --- Unable to resolve dependency for ‘:app@debug/compileClasspath‘: Could not resolve com.a
  9. java transient_【转】Java中的关键字 transient
  10. 五一假期将至,机房维护工作要做好