排列组合问题

排列和组合问题,其实是两种问题,区分它们的原则是是否需要考虑顺序的不同。排列问题,考虑顺序;组合问题,不考虑顺序。

1.排列可重复

那么,何为“可重复”呢?暂且不考虑排列组合,先解释可重复。举个例子,冰淇淋有3种口味可以选择,我可以选择3种相同口味,也可以选择不同口味,每次选择即可相同也可不相同。再举个例子抛硬币3次,很显然,可能会出现3次都是正面,硬币出现正反面是可重复的。典型的问题如,开锁问题,彩票问题,都是排列可重复问题。

排列可重复问题公式如下,每次nn种选择,选择rr次的排列共有:n^r
这很好理解,一次有n种选择,第二次有n∗n种选择,……,第r次有n^r种选择。

2.排列不可重复

不可重复也很好理解了。例如,打桌球问题,一共15个球,打进所有球有多少种打法。这种情况下,不可能一个球重复打进,第一次击球有15种可能,第二次只有14种,……,最后一次就只有一个球了,只有一种可能。

这个打桌球问题,可以这样理解。首先,共有15个球,全部打完,共有多少种排列?显然,15∗14∗...∗2∗1=15! 。然后考虑,不全部打完呢?打3次有多少种排列,显然15∗14∗13,为了公式的整齐可以写成

排列不可重复问题更一般的公式如下,n个球,打r次的排列共有:

3.组合不可重复

组合可重复问题放在最后,先看组合不可重复。先看例子,共有红黄蓝绿黑5种颜色的球,随机取3次有几种颜色组合。{红、绿、黄}和{黄、绿、红}虽然顺序不同,但是相同的组合,即只算一种情况。同时,不可能出现{红、红、黄},即这是一个不可重复问题。

首先,显然红黄绿是1种组合,我们来看红黄绿有多少种排列。

4.组合可重复

转载于:https://www.cnblogs.com/mylearning-log/p/10911507.html

数据结构与算法 —— 基础一(排列组合)相关推荐

  1. 数据结构与算法--字符串的排列组合问题

    字符串的全排列 题目:输入一个字符串,打印出改字符串中所有字符的所有排列.例如输入字符串abc,那么打印出由a,b,c字符组成的所有字符串:abc,acb,bac,bca,cab,cba 如何求解全排 ...

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

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

  3. 第六章.数据结构与算法基础

    目录 第六章.数据结构与算法基础(重点) 第一节.数组与矩阵 数组 稀疏矩阵 第二节.数据结构的定义 第三节.线性表 链表详解 顺序存储与链式存储对比 队列与栈 第四节.广义表 第五节.树与二叉树 树 ...

  4. 青岛大学-王卓 数据结构与算法基础

    青岛大学-王卓 数据结构与算法基础 内容目录 文章目录 青岛大学-王卓 数据结构与算法基础 内容目录 第一周 1.0前言 1.1数据结构的研究内容 1.2基本概念和术语1 逻辑结构的种类 存储结构的种 ...

  5. java算法概述,Java数据结构与算法基础(一)概述与线性结构

    Java数据结构与算法基础(二)递归算法 Java数据结构与算法基础(一)概述与线性结构 学习目的:为了能更顺畅的读很多底层API代码和拓宽解决问题的思路 一.数据结构概述 1.数据结构是什么?数据与 ...

  6. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]

    题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...

  7. python数据结构与算法知识点_数据结构和算法基础知识点(示例代码)

    数据结构和算法基础知识点 链表 1.链表是一种由节点组成的线性数据集合,每个节点通过指针指向下一个节点.它是 一种由节点组成,并能用于表示序列的数据结构. 2.单链表:每个节点仅指向下一个节点,最后一 ...

  8. 数据结构与算法基础-青岛大学-王卓

    数据结构与算法基础(青岛大学-王卓)_哔哩哔哩_bilibili 文章目录: 第一章:数据结构的基本概念 1.逻辑结构的种类 2.存储结构的种类 ​3.抽象数据类型的形式定义 4.Complex抽象书 ...

  9. 【数据结构与算法基础】AOE网络与关键路径

    前言 数据结构,一门数据处理的艺术,精巧的结构在一个又一个算法下发挥着他们无与伦比的高效和精密之美,在为信息技术打下坚实地基的同时,也令无数开发者和探索者为之着迷. 也因如此,它作为博主大二上学期最重 ...

  10. 【数据结构与算法基础】最短路径问题

    前言 数据结构,一门数据处理的艺术,精巧的结构在一个又一个算法下发挥着他们无与伦比的高效和精密之美,在为信息技术打下坚实地基的同时,也令无数开发者和探索者为之着迷. 也因如此,它作为博主大二上学期最重 ...

最新文章

  1. 学习Kali Linux必须知道的几点
  2. pytorch 几个不同获得索引的方法
  3. Java多线程同步代码块
  4. Silverlight 4 Beta正式发布
  5. 1092 最好吃的月饼 (20 分
  6. AI「抄」代码无罪?GitHub Copilot拿用户的开源代码改一改就去挣钱!
  7. python如何删除对象属性_如何优雅的删除对象中的指定属性?
  8. 【华为云技术分享】敏捷开发落地不实际?原因可能在于你的 IDE 工具
  9. linux系统mysql创建表,Linux系统下手动新建数据库
  10. 数据结构排序系列详解之一 插入排序
  11. 二叉链表和职工管理系统结合_C语言课程设计_职工信息管理系统_单链表实现程序源代码...
  12. Shell Notes(2)
  13. adb 操作命令简介(一)
  14. mybatis数据输入
  15. oracle 监听 开机启动命令,如何让oracle DB、监听和oem开机启动(dbstart)
  16. 您仅仅是一个可雕刻的榆木疙瘩。。。
  17. ArcGIS 各版本产品补丁荟萃
  18. APP版本更新通知流程图
  19. 谈“太极起势”的练法
  20. 在c语言中把x和y互换怎么编译,已知int x=10,y=12;编程将x和y的值相互交换

热门文章

  1. CPU GPU设计工作原理《转》
  2. 关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用)...
  3. 8.exchange2013实战操作之RMS
  4. 学习spring必须java基础知识-动态代理
  5. ASP生成静态页面的方法
  6. ubuntu 12.04 nfs-server/client安装配置
  7. first-class type 一等类型的含义
  8. [Python] L1-038. 新世界 团体程序设计天梯赛GPLT
  9. CCCC-GPLT L3-013. 非常弹的球 团体程序设计天梯赛
  10. 蓝桥杯 ALGO-62 算法训练 平方计算