首页 > 其他分享 >数学基础-组合数学

数学基础-组合数学

时间:2024-08-13 14:52:36浏览次数:13  
标签:... frac 组合 元素 基础 数学 取出 计算公式

排列数

定义

从 \(n\) 个不同元素中任取 \(m(n,m\in\mathbb{N}, m\le n)\) 个元素按照一定顺序排成一列,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的一个排列;从 \(n\) 个不同元素中取出 \(m\) 个元素的所有排列的个数,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的排列数,记作 \(A_n^m\)。

计算公式

排列数的计算公式如下:

\[A_n^m=n(n-1)(n-2)...(n-m+1)=\frac{n!}{(n-m)!} \]

其中 \(n!=\prod_{i=1}^{n}i\)。

组合数

从 \(n\) 个不同元素中任取 \(m(n,m\in\mathbb{N}, m\le n)\) 个元素组成一个集合,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的一个组合;从 \(n\) 个不同元素中取出 \(m\) 个元素的所有组合的个数,叫做从 \(n\) 个不同元素中取出 \(m\) 个元素的组合数,记作 \(C_n^m\)。

计算公式

组合数的计算公式如下:

\[C_n^m=\frac{A_n^m}{m!}=\frac{n!}{m!(n-m)!} \]

其中,\(n!=\prod_{i=1}^{n}i\)。

对称性

\[C_n^m=C_n^{n-m} \]

递推公式

\[C_n^m=C_{n-1}^{m-1}+C_{n-1}^m \]

三种实现方法

1.递推公式/杨辉三角
根据组合数的递推公式 \(C_n^m=C_{n-1}^{m-1}+C_{n-1}^m\),用二维数组存储如下所示:


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 ... ... ... ... 1

其中,\(f[n][m]\) 表示 \(C_n^m\)。
此方法的时间复杂度和空间复杂度均为 \(O(n^2)\),但其只需进行加法运算。

2.计算所有 \(n!\) 及其乘法逆元 \(n!^{-1}\)

标签:...,frac,组合,元素,基础,数学,取出,计算公式
From: https://www.cnblogs.com/catting123/p/18356899

相关文章

  • 最佳阵容问题(数学建模校赛题目)(附带word文档)
    最佳阵容问题(数学建模校赛题目)(附带word文档)......
  • 【零基础必看的Linux教程】——Linux 安装(CentOs)
    本章节我们将为大家介绍Linux的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果自己不想搭建,也可以直接买一台学习用用。本教程以centos6.4为例。给大家附上centos下载地址:centos下载地址https://www.centos.org/download/以下针对各个版本的ISO镜像文......
  • 2024最新最全【AIGC】学习零基础入门到精通,看完这一篇就够了!
    AIGC(AI-GeneratedContent)即人工智能生成内容,是指利用人工智能技术来创造各种形式的内容,包括文字、图像、视频、音频和游戏等。与专业生成内容(PGC)和用户生成内容(UGC)相对应,AIGC代表着内容生产方式的演进,其生产速度以指数级增长。为什么要学习AIGC?根据猎聘大数据研究院发布......
  • JavaSE基础(5)——抽象类与接口
    目录1、abstract关键字 2、抽象方法3、抽象类4、接口5、接口与抽象类的区别6、JDK8版本接口新特性7、类之间的关系8、UML类图1、abstract关键字 可以修饰类和方法,不可以修饰属性,对应的类和方法就称之为抽象类和抽象方法;2、抽象方法有抽象方法的类一定是抽象类......
  • 数学建模优化算法——遗传算法
    遗传算法原理具体的原理网上还是比较多,我就不赘述了。这篇文章的主要目的是为了讲述一下自己从B站UP主连大数模上面获得一个遗传算法细致思路。主要会分享给大家这个matlab代码以及每个代码的含义。不过为了便于大家理解我的思路,大致补充一些东西:首先遗传算法是以种群进......
  • 代码随想录算法训练营第十三天|二叉树理论基础,144.二叉树的前序遍历,145.二叉树的中序
    day12周日放假二叉树理论基础:文章链接:代码随想录文章摘要:满二叉树定义:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。完全二叉树定义:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一......
  • python基础应用
    pip的使用升级pippython3-mpipinstall--upgradepip镜像源设置查看镜像源pipconfiglist指定镜像源更新依赖pip3installnumpy-ihttps://pypi.tuna.tsinghua.edu.cn/simple设置全局镜像源:pipconfigsetglobal.index-urlmirror_url_path#指定镜像服务......
  • 【会计基础知识】库存核算的计价方式
    1.先进先出法如水果,收保质期影响,先入库的先出库2.后进先出法(已停止使用)3.移动平均法根据库存的变化情况时时进行库存核算公式:(上次结存金额+本次出入库金额)/(上次结存库存+本次出入库库存)4.全月平均法在月末进行存货核算,最常用,大部分企业都在用公式:(期初结存金额+本期入......
  • 【鸿蒙学习】HarmonyOS应用开发者基础 - 应用程序框架基础
    从第一节的学习到现在,学习的人数越来越少,要相信,坚持学习下去的将会获得相应的收获。加油少年!!!一、应用框架基础1.应用  用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。2.Module......
  • 机器学习——完整的基础概念学习,机器学习分类
    机器学习——完整的基础概念学习,机器学习分类一、机器学习与深度学习机器学习与深度学习的区别和联系机器学习是人工智能的一个分支,它使计算机能够通过学习数据和模式来自动改进和优化算法。相比之下,深度学习是机器学习的一个子集(是机器学习的一种),它依赖于类似于人脑的神......