Perm--全排列函数
来源:互联网 发布:淘宝网乌梢蛇木瓜丸 编辑:程序博客网 时间:2024/06/05 12:00
代码如下:
void Perm(int* arr,int size,int N){ if(size == N) { for(size_t i=0;i<size;++i) cout<<arr[i]; cout<<endl; } else { for(size_t i=N;i<size;++i) { std::swap(arr[i],arr[N]); Perm(arr,size,N+1); std::swap(arr[i],arr[N]); } }}详细解释:
例如传入arr 数组为12345
(1)Perm(arr,5,3):表示arr数组的下标为3的开始全排列,即45全排列。
结果如下:
具体的递归过程如下:
(2)Perm(arr,5,2):表示arr的后3位全排列。
结果如下:
具体递归调用过程如下:
(3)Perm(arr,5,0):表示arr数组全排列。此处验证省略。可自行验证。
时间复杂度为:N+N*(N-1)+N*(N-1)(N-2)+...........+1
约等于 O(N!)
0 0
- Perm--全排列函数
- 【C++】Perm递归全排列函数分析
- perm全排列
- BZOJ 1072: [SCOI2007]排列perm 状压DP,暴力全排列
- 全排列算法之Perm递归算法实现
- 全排列(Perm)的递归实现算法
- 1072: [SCOI2007]排列perm
- bzoj1072: [SCOI2007]排列perm
- 1072: [SCOI2007]排列perm
- [BZOJ1072][SCOI2007]排列perm
- 【SCOI2007】【BZOJ1072】排列perm
- bzoj1072【SCOI2007】排列perm
- bzoj1072: [SCOI2007]排列perm
- BZOJ1072: [SCOI2007]排列perm
- [SCOI2007]排列perm
- bzoj1072: [SCOI2007]排列perm
- 1072: [SCOI2007]排列perm
- 1072: [SCOI2007]排列perm
- 保存1
- 自定义UICollectionViewFlowLayout实现section悬浮
- UE添加鼠标右键打开
- linux sed 批量替换字符串
- 个人记录-LeetCode 98. Validate Binary Search Tree
- Perm--全排列函数
- HDU2031进制转换
- WdatePicker
- maven内存溢出处理方法
- Linux NFS服务器的安装与配置
- git 创建一个新branch,push到远端后,通过网页可以看到新建的branch
- AndroidStudio 对于library工程生成的jar包路径
- emboss 安装使用
- cas 使用 http协议