算法:递归总结(2)例子
来源:互联网 发布:淘宝装修设计 编辑:程序博客网 时间:2024/06/08 05:11
关于递归输出数组的全排列:
按照分治的思想,将一个大的问题转化为一个小的问题,那么对于数组来说就是一次次的将他的维数减少,也就是可以先确定一个数,接着去确定n-1个数,然后依此思想,不断地分化出去,确定最后一个以后可以作为一个输出条件。
void Perm(int a[],int local,int len)
{
if(local==len)
{
for(int i = 0;i <= len ;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
else
{
for(int j = local;j<=len;j++)
{
Swap(a[local],a[j]);//交换这两个位置的数
Perm(a,local+1,len);
Swap(a[local],a[j]);
}
}
}
关于递归求子集:
方法都是递归,但是思路的话要靠自己去想,我这个思路也是老师提供的,我把他实现了而已。
#include <iostream>
using namespace std;
void GetChild(int a[],int k,int len)
{
int i = k;
if(i==len)
{
for(int j = 0;j<=len;j++)
{
if(a[j]==0)
{
;
}
else
{
cout<<a[j]<<" ";
}
}
cout<<endl;
int t = a[len];
a[len] = 0;
for(int j = 0;j<=len;j++)
{
if(a[j]==0)
{
;
}
else
{
cout<<a[j]<<" ";
}
}
cout<<endl;
a[len] = t;
}
else
{
GetChild(a,i+1,len);//1 2 3 1 2
int t = a[i];
a[i] = 0;
GetChild(a,i+1,len);
a[i] = t;
}
}
int main(int argc,char *argv[])
{
int a[] = {1,2,3};
int n = sizeof(a)/sizeof(a[0]);
GetChild(a,0,n-1);//0 2
return 0;
}
想着放假一天一篇呢,结果宿舍断网两天就出去浪了,这样不好不好
- 算法:递归总结(2)例子
- 算法例子-递归算法
- 算法-递归分治(经典例子)
- 递归算法例子
- 递归算法小例子
- 递归算法-小例子
- 递归算法例子
- 递归算法小例子
- 递归算法例子
- 递归算法例子
- 算法实战之递归(2)(递归算法深层次总结)
- 递归算法的一个例子
- 运用递归算法的例子
- 递归算法的一个例子
- 关于递归算法的几个例子(C语言)
- 递归算法相关总结
- 递归算法总结
- 递归算法简单总结
- 遇到的兼容性能问题
- 局域网与广域网,以太网与点对点链路
- 仿照QQ的删除效果
- Asp.net +jQuery +ajax 传参问题
- android listView嵌套gridview的使用心得
- 算法:递归总结(2)例子
- 电气学习笔记(SSCNC)1 点动、互锁和自动往返
- 给RecyclerView 添加HeadView
- 二分法(binary search)
- poj——3259——Wormholes
- 【HDU5725 2016 Multi-University Training Contest 1C】【最短路 曼哈顿距离+贪心 前缀和】Game 有特殊守卫地图中所有空格点的最短路之和
- WEB 前端切图更友好的兼容Retina屏幕
- hdu 5720 - Wool (线段交的长度)
- Oracle之故障处理:解决“ora-01652无法扩展temp段”问题