社区
Web 开发
帖子详情
求全排列的算法???
牛海朋
2010-11-04 11:46:09
现有一个数组buf[]
要求对其全排列
并将排列后的所有数组放在一个list里,方法返回该list
如下,求功能实现
public List perm(int[] buf){
List list=null;
/*
实现代码
*/
return list;
}
...全文
146
3
打赏
收藏
求全排列的算法???
现有一个数组buf[] 要求对其全排列 并将排列后的所有数组放在一个list里,方法返回该list 如下,求功能实现 public List perm(int[] buf){ List list=null; /* 实现代码 */ return list; }
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
学习Java中
2010-11-04
打赏
举报
回复
JAVA实现全排列算法
Elim-Zhang
2010-11-04
打赏
举报
回复
package com.syj.csdn;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* <p>
* Title:全排列算法
* </p>
*
* <p>
* Copyright: http://blog.csdn.net/sunyujia/
* </p>
*
* @author 孙钰佳
* @main sunyujia@yahoo.cn
* @date 2009-04-25 23:57:23 PM
*/
public class FullSort {
//将NUM设置为待排列数组的长度即实现全排列
private static int NUM = 3;
/**
* 递归算法:将数据分为两部分,递归将数据从左侧移右侧实现全排列
*
* @param datas
* @param target
*/
private static void sort(List datas, List target) {
if (target.size() == NUM) {
for (Object obj : target)
System.out.print(obj);
System.out.println();
return;
}
for (int i = 0; i < datas.size(); i++) {
List newDatas = new ArrayList(datas);
List newTarget = new ArrayList(target);
newTarget.add(newDatas.get(i));
newDatas.remove(i);
sort(newDatas, newTarget);
}
}
public static void main(String[] args) {
String[] datas = new String[] { "a", "b", "c", "d" };
sort(Arrays.asList(datas), new ArrayList());
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sunyujia/archive/2009/04/26/4124011.aspx
我帮你从楼上那位提供的地址拷过来的
牛海朋
2010-11-04
打赏
举报
回复
baiyu123
把你的代码写上好吗
回溯
算法
求
全排列
1. 回溯
算法
思想 一、回溯
算法
主要思想 回溯法有“通用的解题法”之称。用它可以系统地搜索一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃性的搜索
算法
,它在问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。
算法
搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。如果不包含,则跳过对以该结点为根的子树的搜索,逐层向其祖先结点回溯。否则进入该子树,继续按深度优先策略搜索。回溯
算法
求
问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。回溯法
求
问题的一个解时,只要搜索到问题
DFS
求
全排列
算法
版本1:非常像八皇后问题,请参加我的博客:https://blog.csdn.net/u011426016/article/details/88818754 八皇后要
求
不在同一行、同一列、以及同一条对角线上,这里只要
求
不在同一行,同一列即可。同一行自然不可能,因为每个皇后单独放置一行,同一列很好检查,使用visit数组标记即可,这种方法的优点是如果初始序列有序的话,可以保证
全排列
按字典序递增排列。...
poj 1256(Anagram +
求
全排列
算法
)
题目链接:http://poj.org/problem?id=1256 题目意思:一串字符a[15],要
求
求
出所有有这些字符构成的不重复的字符串(
全排列
问题) 代码借鉴于大牛处: 代码: #include #include int n,len; int hash[15]={0}; char a[54]; char ans[15]; int dfs
递归
求
全排列
的学习与理解
递归
求
全排列
的学习与理解
全排列
: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫
全排列
。 比如:
求
1~3的
全排列
由中学的知识便知共有 3! =3 x 2 x 1=6种 排列,即123,132,213,231,312,321 那么该怎么用代码
求
出来呢?像我这种萌新,一开始想到的当然是用for循环,但是
求
...
Johnson-Trotter
算法
求
全排列
下面我将贴出Johnson-Trotter
算法
的JAVA代码 1 package JT; 2 3 import java.util.Scanner; 4 5 public class Johnson_Trotter { 6 //
求
最大的移动元素 7 public static int maxk(int n, int[] array, boolean[...
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章