由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 怎么产生全排列?
相关主题
有人做quantum computing system吗?最短路的算法复杂度问题
谁给一个recursive的string permutation的c code吧来,做题吧。
permutation in a loopa vba question. please help
如何计算1000的阶乘另一个相关的很基础的问题
这个怎么排序来着谁提示一下
递归程序[合集] goog code jam俺水掉了。
Haskell的学习曲线是指数增长的!你们觉得computer sicence最核心的是哪几门课?
怎么提高C++计算精度? C++ vs Matlab (转载)又一个算法题
相关话题的讨论汇总
话题: bit话题: max话题: direction话题: 排列
进入Programming版参与讨论
1 (共1页)
k****f
发帖数: 3794
1
有没有只需要n阶乘交换,就可以找到所有的排列的算法?
这个排列数组里面,按出现的顺序排下来,
前后两个排列只相差2个位置。
g*********8
发帖数: 53
2
123
132
312
321
231
213
right?
k****f
发帖数: 3794
3
有程序么??
手动是可以排的

【在 g*********8 的大作中提到】
: 123
: 132
: 312
: 321
: 231
: 213
: right?

S*********g
发帖数: 5298
4
http://mathworld.wolfram.com/Permutation.html

【在 k****f 的大作中提到】
: 有程序么??
: 手动是可以排的

r*********r
发帖数: 3195
5
simplest solution is via backtracking
r****t
发帖数: 10904
k****f
发帖数: 3794
7
http://marknelson.us/2002/03/01/next-permutation
next_perm产生的序列不是相差一个交换
仔细看看figure 2的第二个与第三个
需要两个交换才能做到的
b***e
发帖数: 1419
8
#include "stdio.h"
class Bit {
public:
int max;
int direction;
int value;
Bit* higherBit;
Bit(int max, Bit* higher);
bool inc();
void changeDirection();
};
Bit::Bit(int max, Bit* higher) {
this->max = max;
this->direction = 1;
this->value = 0;
this->higherBit = higher;
}
void Bit::changeDirection() {
this->direction = 1 - this->direction;
}
bool Bit::inc() {
switch(this->direction) {
case 1:
if (this->value < this->max) {
this->value++;
return true;
b***e
发帖数: 1419
9
这个就是传说中的九连环了。
C*******n
发帖数: 56
10
想了解排列大部分算法,读读下面的文章:
Permutation Generation Methods by ROBERT SEDGEWlCK
g*********8
发帖数: 53
11
could you explain your algorithm? thank you.

【在 b***e 的大作中提到】
: 这个就是传说中的九连环了。
b***e
发帖数: 1419
12
I am computing permutation from the permutation number. Taking a 9-
permutation as example, the permutation number is a 8 bit number where the
first bit is 2-based, second bit is 3-base, ..., the 8th bit is 9 based.
The semantics of a permutation number is that, the value of the i_th bit
means the the number of the numbers that are smaller than i and is
positioned after i in the permutation. There is a one-to-one mapping
between permutations and permutation numbers.
Then the rest is to comput

【在 g*********8 的大作中提到】
: could you explain your algorithm? thank you.
1 (共1页)
进入Programming版参与讨论
相关主题
又一个算法题这个怎么排序来着
0/1 Knapsack问题Linear Space的算法可以实现Backtrack吗?递归程序
10个数所有的组对可能, 怎么解?Haskell的学习曲线是指数增长的!
请教一个关于循环的问题怎么提高C++计算精度? C++ vs Matlab (转载)
有人做quantum computing system吗?最短路的算法复杂度问题
谁给一个recursive的string permutation的c code吧来,做题吧。
permutation in a loopa vba question. please help
如何计算1000的阶乘另一个相关的很基础的问题
相关话题的讨论汇总
话题: bit话题: max话题: direction话题: 排列