实验一 分治与递归—全排列 java算法
全排列:
设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算法相关推荐
- 递归法全排列java_实验一 分治与递归—全排列 java算法
全排列: 设R={r1,r2,r3--rn}是要排列的n个元素,Ri=R-{ri}.集合X中元素的全排列记perm(X). 源代码: import java.io.*; import java.uti ...
- 分治,递归,贪心算法,动态规划的关系
来自书籍<王道程序员面试宝典> 递归是解决问题的一种具体实现方法.而分治,动态规划,贪心算法是解决问题的一类思想. 分治一般通过递归实现.
- 实验一 分治与递归—用分治法实现元素选择 java算法
提高题二:用分治法实现元素选择 一.实验要求与目的 1.了解分治法的基本思想,掌握递归程序编写方法: 2.使用分治法编程,求解线形序列中第k小元素. 二.实验内容 1. 给定线形序列集中n个元素和 ...
- 实验一 分治与递归—整数划分 java实现
基本题一:基本递归算法 一.实验目的与要求 1. 熟悉Java语言的集成开发环境: 2.通过本实验加深对递归过程的理解 二.实验内容: 掌握递归算法的概念和基本思想,分析并掌握"整数划分& ...
- 知识库递归编程java和prolog代码;逻辑语言Prolog简介(附24555字PDF发“递归prolog简介”下载)
知识库递归编程java和prolog代码:逻辑语言Prolog简介(附24555字PDF发"递归prolog简介"下载) 数据简化DataSimp 今天 数据简化DataSimp导 ...
- 递归方式-全排列生成算法
http://blog.csdn.net/xiazdong/article/details/7986015 排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列: 全排列:当n==m时, ...
- 全排列的java算法_全排列算法原理和实现
评论 # re: 全排列算法原理和实现 回复 更多评论 #include #include #define CHESSNUM 9 using namespace std; /*********** ...
- Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...
- Java算法--第二章--查找与排序(2)递归基础--佩波那契最大公约数插入排序汉诺塔
Java算法–第二章–查找与排序(2)递归基础 一.找重复 1.找到一种划分方法 2.找到递推公式或者等价转换 都是父问题转化为求解子问题 二.找变化的量 变化的量通常要作为参数 三.找出出口 代码: ...
最新文章
- 电脑任务管理器_安国戴尔电脑显示器维修,服务至上
- 微软 Internet 信息服务器(IIS) 5.0 和 6.0 状态代码说明
- 比特币现金的第四次战役
- 全局变量引起的BUG
- 在RHEL5.0中用YUM解决RPM包的依赖关系
- 使用golang的http模块构建redis读写查api
- linux screen 进程,screen 命令使用
- C++获取PE文件的入口点
- 北京soul_Soul高智商情侣,机器人博士邂逅科技记者,跨越1200公里来相爱
- java字节流分为_Java文件流可分为字节流和字符流。
- BetterZip结合自动操作工具和预设设置创建电影解压程序
- structs2 result type介绍
- 【bzoj4321】queue2 dp
- 使用java进行图像处理_使用Java进行图像处理
- mysql安装出现中文乱码_MySQL安装以及中文乱码问题
- Android NDK开发之 Neon优化
- 评分卡模型之数据预处理
- 如何提高Android代码的安全性
- php电竞酒店系统,电竞酒店系统管理@电竞酒店云管家@电竞酒店解决方案
- 超级终端连接华为交换机_win10深度系统怎么使用超级终端连接华为交换机?
热门文章
- c++ 结构体中不同类型的初始值_Golang语言基础教程:结构体
- mysql调优explain_MySql性能调优利器之Explain
- oracle sqlarea表结构,oracle v$sqlarea 分析SQL语句使用资源情况
- mysql keepalived主从_mysql高可用架构之(一)基于自身主从复制&keepalived实现
- java 8 两个list_java集合框架综述
- Postman脚本发送请求pm.sendRequest
- 【pytest】Hook 方法之 pytest_collection_modifyitems:修改测试用例执行顺序
- c语言根据变量作用域不同分为,C语言中不同变量的访问方式
- TabError: inconsistent use of tabs and spaces in indentation
- jQuery+toggle