【离散数学中的数据结构与算法】五 排列与组合一

在leetcode刷题过程中,遇到过很多关于排列组合的问题。弄清楚排列组合的相关原理,是非常有用处的。

文章目录

    • 1 问题
    • 2 排列-有序选取
      • 2.1 重复选取-可重排列
      • 2.2 不重复选取-排列
        • 2.21 全排列
    • 3 例题
    • 4 总结

1 问题

设集合S包含n个元素,从S中选取r个元素有多少种选取方法?

根据取出的元素是否允许重复,以及取出元素的过程是否有序,可以将上述问题分为下面的四个子类型:

在这里插入图片描述

排列都是有序的,组合都是无序的。这在后面的学习中会深刻体会。

2 排列-有序选取

2.1 重复选取-可重排列

  • n 个不同的对象中, 取 r 个可重复的对象,按次序排列,称为n取r的可重排列。
  • 此也即当 |A|=n 时, A* 中长为 r 的串的个数。

定理1:n取r的可重排列数目为nr

在这里插入图片描述

2.2 不重复选取-排列

  • n 个不同的对象中, 取 r 个不重复的对象, 按次序排列, 称为 n 取 r 的排列(permutation of n objects taken r at atime) 。 n 取 r 排列的全体构成的集合用 P(n, r) 表示, 排列的个数用 P(n, r) 表示(由于个数的表示是斜体不容易区分,后面我们说P(n, r) 即代表排列的个数。)

  • 当 r = n 时称为全排列或置换(permutation)

  • 此也即当 |A|=n 时, A* 中长为 r 且各项彼此不同的串的个数。

举例子:

  1. A = { a, b, c, d }, A 上的所有4取3的排列是:

在这里插入图片描述

  1. A = { a, b, c, d },A 上的所有全排列是:

在这里插入图片描述

定理2:

n <   r 时, P(n, r) = 0;
n >= r 时, P(n, r) = n*(n - 1) * … *(n - r + 1)。

在这里插入图片描述

2.21 全排列

全排列经常被理解为是包含某个有限集合中的所有元素一次且仅一次的序列。

  • 设 A 是集合,如果|A|=n, 则 A 的全排列的个数为:

    n * (n-1) * … * 1

这个值也经常被写作 n! ,称作n 的阶乘(factorial) 。

可以给出 P(n, r) 的一个更紧凑的表达式:

在这里插入图片描述

3 例题

  1. 例一

一个社团共有 10 名成员,从中选出一名主席、一名副主席、一名书记,则共有 P(10, 3)=720 种方法。(因为不光是要选出三名学生,还要在这三明学生中确定三个身份。相当于C(10,3)* P(3,3)=p(10,3),这样更易于理解。C(10,3)是组合的求解公式,后面会学习)

  1. 例二

如果有4个男孩和4个女孩坐成一排,每个人的旁边都可以随便坐,那么共有多少种坐的方式?

P(8,8)=8!

  1. 例三

如果有4个男孩和4个女孩坐成一排,每个人旁边都只能坐着异性,那么共有多少种坐的方式?

2 * 4! * 4!

如下图所示:
在这里插入图片描述

4 总结

  • 坚持学数学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google Maps 地址转化成坐标

http请求格式http://maps.google.com/maps/geo?q查询关键字&outputkml(输出格式可以 为xml kml json)&oeutf8&sensortrue或者false&key你的apikey示例http://maps.google.com/maps/geo?q湖南大学软件学院&outputkml&keyabcdefg(api key)输出kml文件如…

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

接着上一篇学习&#xff1a;【离散数学中的数据结构与算法】五 排列与组合一 上一篇文章主要学习了可重复选取的可重排列和不可重复选取的排列。他们都是在n个不同的对象中选取。 今天我们俩学习的是&#xff0c;当这个n个对象中有相同的元素的时候&#xff0c;排列的相关定理…

sql 2008 使用output避免数据修改后的二次查询

表a (f1 primary key,f2,f3), 表b (f1,f3,f4)现要根据表b修改表a中的相应字段的值&#xff0c;并将修改过的值显示出来&#xff0c;一般用法&#xff1a;1 update a from b set a.f3b.f3 where a.f1b.f12 select a.f1,f2,f3 from a where a.f1 in (select f1 from b)根据sql的…

【离散数学中的数据结构与算法】七 排列与组合三

前两篇文章学习了不可重复选取的排列与可重复选取的可重排列。本篇文章开始学习组合的相关定理。 文章目录1 组合1.1 组合的计算公式2 总结1 组合 跟排列一样。组合也分为不重复选取的组合&#xff0c;与可重复选取的可重组合。本节内容主要学习不可重复选取的组合 从 n 个不…

Silverlight4.0教程之WebBrowser控件(Silverlight内置HTML浏览器控件)

微软于PDC2009上发布Silverlight 4 Beta版&#xff0c;微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求&#xff0c;加入了一系列另开发人员兴奋的新特性&#xff0c;最突出的主要体现在几个方面&#xff1a; 开发工具增强&#xff1a;Visual Studio 2010…

【离散数学中的数据结构与算法】八 排列与组合四

上一篇文章学习了组合&#xff08;不可重复选取的&#xff09;。今天来将可重复选取的组合学习一下。 文章目录1 可重复选取的组合-可重组合2 总结1 可重复选取的组合-可重组合 现在有4种口味的棒棒糖&#xff0c;你要从中选3个(允许你选同种口味)总共有多少种不同的选法&…

[转]HDFS用户指南(中文版)

目的 本文档可以作为使用Hadoop分布式文件系统用户的起点&#xff0c;无论是将HDFS应用在一个Hadoop集群中还是作为一个单独的分布式文件系统使用。HDFS被设计成可以马上在许多环境中工作起来&#xff0c;那么一些HDFS的运行知识肯定能大大地帮助你对一个集群做配置改进和诊断。…

【离散数学中的数据结构与算法】九 鸽巢原理

鸽巢原理是非常著名的原理&#xff0c;生活正用的也很多。 文章目录1 简单鸽巢原理的应用2 定理&#xff08;一般性鸽巢原理&#xff09;2.1 应用3 总结1 简单鸽巢原理的应用 定理&#xff08;鸽巢原理&#xff09; 若有 n 个鸽巢&#xff0c; n1 个鸽子&#xff0c;则至少有…

【离散数学中的数据结构与算法】十 汉诺塔

汉诺塔也是经典的算法问题 文章目录1 汉诺塔问题1 汉诺塔问题 法国数学家卢卡斯&#xff08;Edouard Lucas&#xff09;在1883年提出了一个数学游戏&#xff1a; 传说在世界中心贝拿勒斯&#xff08;印度北部&#xff09;的圣庙里&#xff0c;一块黄铜板上有三根宝石柱。印度…

cross-domain policy file

A cross-domain policy file is an XML document that grants a web client—such as Adobe Flash Player, Adobe Reader, etc.—permission to handle data across multiple domains. When a client hosts content from a particular source domain and that content makes re…

markdown编辑器中数学公式的基本命令

原创链接&#xff1a;https://blog.csdn.net/holdrenminbi/article/details/78229488 常见的Markdown编辑器中数学公式使用 相比于初入Markdown编辑器的小白来说&#xff0c;数学公式的使用是必须要掌握的一门技能。本内容大体的介绍结构如下&#xff1a; 插入公式常用数学运…

Java程序练习-螺旋矩阵

螺旋矩阵时间限制: 1500ms内存限制: 1000kB描述生成一个NxN&#xff08;N>0)的旋转矩阵&#xff0c;N从键盘输入&#xff0c;每4个字符输出一个数字&#xff0c;右对齐&#xff0c;从1开始至NxN&#xff0c;顺时针成螺旋状&#xff0c;例如&#xff1a;输入4则生成1--16的矩…

【离散数学中的数据结构与算法】十一 错排问题

错排问题比较难&#xff0c;但是也是经典算法问题 文章目录1 错排问题2 总结1 错排问题 家中阳台有10盆不同的花&#xff0c;为保持新鲜感&#xff0c;希望每天重新摆放&#xff0c;使得每盆花都不在第一天放的位置。那么最多可以保持多少天每天摆法都不同&#xff1f; 这是一…

Jquery的ajax在IE提交数据乱码解决方法

IE的编码和ff&#xff0c;chrome都不同&#xff0c;ajax提交数据乱码&#xff0c;尤其是中文&#xff0c;解决方法其实很简单首先&#xff0c;保持utf-8编码和post提交数据是必要的。其次将参数用escape编码再发送。比如xxx.aspx?uescape(username) 转载于:https://www.cnblog…

数据结构与算法实战-C++实现

学习交流加&#xff08;可免费帮忙下载CSDN资源&#xff09;&#xff1a;个人微信&#xff1a; liu1126137994学习交流资源分享qq群1&#xff08;已满&#xff09;&#xff1a; 962535112学习交流资源分享qq群2&#xff1a; 780902027 推荐一个数据结构实战课程&#xff0c;学习…

ie6 7下 relative absolute无法冲破的等级问题解决办法

最近做垂直市场遇见这样一个问题&#xff0c;在标准浏览器下如图一&#xff0c;所有地区列表正常显示&#xff0c;以下拉形式浮在最上层&#xff0c;可是在IE6、7下如图二就会被下面的图片所遮盖&#xff0c;z-index设置多大都不起作用。图一 &#xff08;标准浏览器 和 IE8&am…

使用说明 思迅收银系统_使用自助收银系统让消费者自助结算更便捷高效?

很多超市的人工收银台&#xff0c;在客流的高峰期&#xff0c;如节假日、活动促销时间段、周末等&#xff0c;结账慢且客流量大&#xff0c;容易出现顾客排长队等待结账的情况。这样会有结账慢、收银员收银压力大的影响&#xff0c;进而影响顾客的购物体验。在超市使用自助收银…

【Linux进程、线程、任务调度】四多核下负载均衡 中断负载均衡,RPS软中断负载均衡 cgroups与CPU资源分群分配 Linux为什么不是硬实时 preempt-rt对Linux实时性的改造

学习交流加 个人qq&#xff1a; 1126137994个人微信&#xff1a; liu1126137994学习交流资源分享qq群&#xff1a; 962535112 上一篇文章&#xff08;点击链接&#xff1a;点击链接阅读上一篇文章&#xff09;讲了&#xff1a; CPU/IO消耗型进程吞吐率 vs. 响应SCHED_FIFO算法…

清除error.log、access.log并限制Apache日志文件大小的方法

清除error.log、access.log并限制Apache日志文件大小的方法Apache下的access.log和error.log文件从安装服务器到现在没有动过&#xff0c;今天突然discuz 的MYSQL数据库连接错误&#xff0c;提示2003 错误&#xff0c;检查发现原来是error.log、access.log爆满&#xff0c;文件…