全排列思路详解 您所在的位置:网站首页 数学全排列公式 全排列思路详解

全排列思路详解

2023-07-13 01:33| 来源: 网络整理| 查看: 265

详解全排列

在这里插入图片描述

分析

在这里提到的全排列,和高中数学里遇到的全排列几乎是一个概念。主要应用于选择、求解概率事件的时候会用到全排列。 也就是说我们可以从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 公式: 全排列数f(n)=n!(定义0!=1)

简介

从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

公式:全排列数f(n)=n!(定义0!=1),如1,2,3三个元素的全排列为:

1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 共321=6种。

代码分析

针对于字符串"ABC",理论上我们得到的结果应该是"ABC ACB CBA CAB BAC BCA",6种情况。 其实我们可以简单理解为生活中的老大、老二、老三这样情况,每一次轮流一个字符出来承担老大的职责,接着老二,最后在老三,这样每一轮就会得到一种排列顺序。最后避免有重复的字符串存在,我们可以采用set集合的方式来接收; 代码如下:

public static void quanpailie(char[] arr, int from, int to, Set set){ if(from>=to){ set.add(new String(arr)); return; } for(int i=from;i char c = arr[i]; arr[i] = arr[from]; arr[from] = c; } public static void main(String[] args) { Set set = new HashSet(); quanpailie("ABC".toCharArray(),0,2,set); System.out.println(set.toString()); } 结果

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有