接着上一篇学习:【离散数学中的数据结构与算法】五 排列与组合一

上一篇文章主要学习了可重复选取的可重排列和不可重复选取的排列。他们都是在n个不同的对象中选取

今天我们俩学习的是,当这个n个对象中有相同的元素的时候,排列的相关定理。

文章目录

  • 1 问题的引入
    • 1.1 定理

1 问题的引入

  1. 由a, b, b, e, e, h, i, s, s, t, t, t可以组成多少个长度为12的字符串?

例如: tseabibttseh

  1. 先考虑一个同类型的简单问题:由a, a, b, c可以组成多少个长度为4的字符串?

对a加下标得到 a1, a2,于是一共可以得到4!=24个长度为4的字符串:

去掉重复的字符串:


所以一共12种(4!/ 2 = 12)。

  1. 再看另一个同类型的问题:由a, a, a, b可以组成多少个长度为4的字符串?对a加下标得到 a1, a2, a3,于是一共可以得到4!=24个长度为4的字符串。如下图:

所以一共有4种字符串。(4! / 3! = 4)

  1. 再看一个同类型的问题:由a, a, b, b可以组成多少个长度为4的字符串?

对a, b加下标得到 a1, a2, b1 , b2,于是一共可以得到4!=24个长度为4的字符串。如下图:

所以一共有:6种字符串(4! / 2! * 2! = 6)

1.1 定理

由 k1 个1, k2 个2 , …, kt个t组成的长度为 n 的排列总数为:


其中:n = k1 + k2 + k3 + … + kt

回到问题1:
由a, b, b, e, e, h, i, s, s, t, t, t可以组成多少个长度为12的字符串?

12!/(2! 2! 2! 3!) = 9979200

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

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

    在leetcode刷题过程中,遇到过很多关于排列组合的问题.弄清楚排列组合的相关原理,是非常有用处的. 文章目录 1 问题 2 排列-有序选取 2.1 重复选取-可重排列 2.2 不重复选取-排列 2 ...

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

    前两篇文章学习了不可重复选取的排列与可重复选取的可重排列.本篇文章开始学习组合的相关定理. 文章目录 1 组合 1.1 组合的计算公式 2 总结 1 组合 跟排列一样.组合也分为不重复选取的组合,与可 ...

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

    上一篇文章学习了组合(不可重复选取的).今天来将可重复选取的组合学习一下. 文章目录 1 可重复选取的组合-可重组合 2 总结 1 可重复选取的组合-可重组合 现在有4种口味的棒棒糖,你要从中选3个( ...

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

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

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

    汉诺塔也是经典的算法问题 文章目录 1 汉诺塔问题 1 汉诺塔问题 法国数学家卢卡斯(Edouard Lucas)在1883年提出了一个数学游戏: 传说在世界中心贝拿勒斯(印度北部)的圣庙里,一块黄铜 ...

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

    鸽巢原理是非常著名的原理,生活正用的也很多. 文章目录 1 简单鸽巢原理的应用 2 定理(一般性鸽巢原理) 2.1 应用 3 总结 1 简单鸽巢原理的应用 定理(鸽巢原理) 若有 n 个鸽巢, n+1 ...

  7. 【离散数学中的数据结构与算法】二 欧几里得算法与裴蜀等式

    欧几里得算法是计算两个数最大公因子算法.又称辗转相除法.本文将学习为什么辗转相除法可以求得两个数的最大公因子.同时也可以根据最大公因子计算两个数的最小公倍数. 文章目录 1 欧几里得算法的理论基础 1 ...

  8. 【离散数学中的数据结构与算法】四 加法法则与乘法法则

    文章目录 1 加法法则 2 乘法法则 3 例子 3.1 例一 3.2 例二 3.3 例三 4 总结 1 加法法则 加法法则: 设事件 A 有 m 种产生方式, 事件 B 有n 种产生方式,则当 A 与 ...

  9. 【离散数学中的数据结构与算法】三 同余定理

最新文章

  1. CHIL-SQL-FIRST() 函数
  2. 拆解二战时期军用万用表,70多年前的万用表!
  3. jQuery自定义选择器
  4. Linux生态ox版本,从折腾说Linux生态圈
  5. scala java混合_Scala特性混合
  6. python自动化发送邮件_Python发送邮件自动化脚本
  7. VC Studio 使用技巧大全
  8. 高能解析得时候忽略某个字段_我们什么时候应该忽略批评?
  9. java 获取组件大小_java - 如何初始化取决于组件大小的图像抓取? - 堆栈内存溢出...
  10. mysql的sql优化工具下载_MySQL SQL查询优化工具EverSQL
  11. 苏浪浪 201771010120 第三周 Java基本程序设计总结
  12. kubernetes视频教程笔记 (36)-部署 prometheus granfana
  13. 【知识点总结】大数据技术原理与应用
  14. 通俗地讲解傅立叶分析和小波分析间的关系
  15. 1024献礼,全栈工程师进击
  16. matebook14支持触摸屏吗_MateBook14:同价位一个能打的都没有(我说的是屏幕)
  17. kafka添加安全验证配置
  18. 2021-08-31 multisim14 电感电容滤波器的的幅频特性,输入方波,输出正弦波
  19. Jmeter 压测和AB压测的比较
  20. 有水量服务器水温还是不稳定,我的热水器水量忽大忽小

热门文章

  1. GB/T 17626 电磁兼容 试验和测量技术系列标准【归纳】
  2. STM32的I2C主从机通信
  3. 在移动端a、input、label等标签点击后会出现背景阴影问题
  4. linux如何给vm权限,linux – 如何创建一个每个用户的vm被隔离的环境
  5. tomcat常用功能
  6. 清除Pycharm设置的方法
  7. Java2017面试宝典--XML部分、 流行的框架与新技术、软件工程与设计模式、 j2ee部分、EBJ部分、 webservice部分...
  8. [05] Session概要
  9. .NET MVC运行周期
  10. Streaming 101