美文网首页
基础之全排列

基础之全排列

作者: YuhangQ | 来源:发表于2017-04-28 18:48 被阅读0次

很基本的算法,使用DFS实现

#include <iostream>
using namespace std;
const int MAXN = 100;
int n;
int used[MAXN];
int ans[MAXN];
void dfs(int pre) {
    if(pre == n + 1) {
        for(int i=1; i<=n; i++) cout << ans[i] << " ";
        cout << endl;
        return;
    }
    for(int i=1; i<=n; i++) {
        if(used[i]) continue;
        used[i] = true;
        ans[pre] = i;
        dfs(pre + 1);
        used[i] = false;
    }
}
int main() {

    cin >> n;
    dfs(1);

    return 0;
}

相关文章

  • 基础之全排列

    很基本的算法,使用DFS实现

  • 搜索(二)回溯

    一、题目总结 基础问题 46.全排列 77.组合 78.子集 39.组合求和 47.全排列 II(重复元素) 90...

  • 【算法基础】全排列问题

    【20180810】 外面刚下过一场雨。趁着刚刚飘过的雨,记录下刚刚看的一个问题。 排列问题:对任意集合 X={x...

  • 递归之全排列

    一般把1~n这n个整数按某个顺序摆放的结果称为这n个整数的一个排列,全排列是指这n个整数能形成的所有排列。不妨设定...

  • Permutations

    求一个数组的全排列。 遇到的问题: 1.忘记了字典序排列的定义;2.思考时间过长;3.没有及时找到全排列和字典序之...

  • 全排列与字典序

    全排列 递归实现全排列; 首先来说递归算法实现全排列: 例如,对于{1,2,3,4}的例子进行全排列,其可以分解...

  • python数独的几个核心计算函数

    1.生成A9排列矩阵 1到9,9个数字的全排列可以说是数独的基础,根据统计学可以计算出9个数字的全排列是36288...

  • 全排列

    求全排列最简单的就是递归了123 的全排列共有 6 个, 123 的全排列等于以 1 开头 23 的全排列, 加上...

  • 全排列

    题目 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排...

  • 全排列

    递归的版本image.png

网友评论

      本文标题:基础之全排列

      本文链接:https://www.haomeiwen.com/subject/mesazttx.html