全排列:

       设R={r1,r2,r3……rn}是要排列的n个元素,Ri=R-{ri}。集合X中元素的全排列记perm(X)

       源代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.*;
import java.util.*;
  
  
public class SF_Quanpailie
{
       public static void main(String[] args)
       {
              int list[]={1,2,3,4};
              perm(list,0,4);
       }
  
       public static void  swap(int[] a,int i,int j){
              int temp=a[i];
              a[i]=a[j];
              a[j]=temp;
       }
  
       public static void perm(int[] list,int k,int m){
              if (k==m)
              {
                     for (int i=0; i<m;i++ )
                     {
                            System.out.print(list[i]);
                     }
                     System.out.println();
              }else {
                     for (int i=k;i<m ;i++ )
                     {
                            swap(list,k,i);
                            perm(list,k+1,m);
                            swap(list,k,i);
                     }
              }
       }
}

 

结果:

本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/818750

实验一 分治与递归—全排列 java算法相关推荐

  1. 递归法全排列java_实验一 分治与递归—全排列 java算法

    全排列: 设R={r1,r2,r3--rn}是要排列的n个元素,Ri=R-{ri}.集合X中元素的全排列记perm(X). 源代码: import java.io.*; import java.uti ...

  2. 分治,递归,贪心算法,动态规划的关系

    来自书籍<王道程序员面试宝典> 递归是解决问题的一种具体实现方法.而分治,动态规划,贪心算法是解决问题的一类思想. 分治一般通过递归实现.

  3. 实验一 分治与递归—用分治法实现元素选择 java算法

     提高题二:用分治法实现元素选择 一.实验要求与目的 1.了解分治法的基本思想,掌握递归程序编写方法: 2.使用分治法编程,求解线形序列中第k小元素. 二.实验内容 1.  给定线形序列集中n个元素和 ...

  4. 实验一 分治与递归—整数划分 java实现

    基本题一:基本递归算法 一.实验目的与要求 1.  熟悉Java语言的集成开发环境: 2.通过本实验加深对递归过程的理解 二.实验内容: 掌握递归算法的概念和基本思想,分析并掌握"整数划分& ...

  5. 知识库递归编程java和prolog代码;逻辑语言Prolog简介(附24555字PDF发“递归prolog简介”下载)

    知识库递归编程java和prolog代码:逻辑语言Prolog简介(附24555字PDF发"递归prolog简介"下载) 数据简化DataSimp 今天 数据简化DataSimp导 ...

  6. 递归方式-全排列生成算法

    http://blog.csdn.net/xiazdong/article/details/7986015 排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列: 全排列:当n==m时, ...

  7. 全排列的java算法_全排列算法原理和实现

    评论 # re: 全排列算法原理和实现  回复  更多评论 #include #include #define CHESSNUM 9 using namespace std; /*********** ...

  8. Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)

    Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...

  9. Java算法--第二章--查找与排序(2)递归基础--佩波那契最大公约数插入排序汉诺塔

    Java算法–第二章–查找与排序(2)递归基础 一.找重复 1.找到一种划分方法 2.找到递推公式或者等价转换 都是父问题转化为求解子问题 二.找变化的量 变化的量通常要作为参数 三.找出出口 代码: ...

最新文章

  1. 电脑任务管理器_安国戴尔电脑显示器维修,服务至上
  2. 微软 Internet 信息服务器(IIS) 5.0 和 6.0 状态代码说明
  3. 比特币现金的第四次战役
  4. 全局变量引起的BUG
  5. 在RHEL5.0中用YUM解决RPM包的依赖关系
  6. 使用golang的http模块构建redis读写查api
  7. linux screen 进程,screen 命令使用
  8. C++获取PE文件的入口点
  9. 北京soul_Soul高智商情侣,机器人博士邂逅科技记者,跨越1200公里来相爱
  10. java字节流分为_Java文件流可分为字节流和字符流。
  11. BetterZip结合自动操作工具和预设设置创建电影解压程序
  12. structs2 result type介绍
  13. 【bzoj4321】queue2 dp
  14. 使用java进行图像处理_使用Java进行图像处理
  15. mysql安装出现中文乱码_MySQL安装以及中文乱码问题
  16. Android NDK开发之 Neon优化
  17. 评分卡模型之数据预处理
  18. 如何提高Android代码的安全性
  19. php电竞酒店系统,电竞酒店系统管理@电竞酒店云管家@电竞酒店解决方案
  20. 超级终端连接华为交换机_win10深度系统怎么使用超级终端连接华为交换机?

热门文章

  1. c++ 结构体中不同类型的初始值_Golang语言基础教程:结构体
  2. mysql调优explain_MySql性能调优利器之Explain
  3. oracle sqlarea表结构,oracle v$sqlarea 分析SQL语句使用资源情况
  4. mysql keepalived主从_mysql高可用架构之(一)基于自身主从复制&keepalived实现
  5. java 8 两个list_java集合框架综述
  6. Postman脚本发送请求pm.sendRequest
  7. 【pytest】Hook 方法之 pytest_collection_modifyitems:修改测试用例执行顺序
  8. c语言根据变量作用域不同分为,C语言中不同变量的访问方式
  9. TabError: inconsistent use of tabs and spaces in indentation
  10. jQuery+toggle