递归实现全排列.doc

递归实现全排列.doc

ID:59316261

大小:14.00 KB

页数:2页

时间:2020-09-05

递归实现全排列.doc_第1页
递归实现全排列.doc_第2页
资源描述:

《递归实现全排列.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、递归实现全排列.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。虽说这是个蛮基础的东西但这个鸟东西困扰了我十年了今天终于解决了~惭愧啊实际上问题并不在于全排列问题本身而是在于basic中的goto当年basic中的方法是搜索回溯十来行的代码里面三个goto搞的人团团转最后终于彻底失去了继续参加竞赛的兴趣和动力然后一晃就是十年今天正在看programminginlua又见这个鸟问题是用lua实现的递归算法看了英文原版的书如醍醐灌顶豁然开朗原来这么简单!打印数组a{1,2,...,n}的

2、全排列递归思想:取出数组中第一个元素放到最后,即a[1]与a[n]交换,然后递归求a[n-1]的全排列1)如果数组只有一个元素n=1,a={1}则全排列就是{1}2)如果数组有两个元素n=2,a={1,2}则全排列是{2,1}--a[1]与a[2]交换。交换后求a[2-1]={2}的全排列,归结到1){1,2}--a[2]与a[2]交换。交换后求a[2-1]={1}的全排列,归结到1)3)如果数组有三个元素n=3,a={1,2,3}则全排列是{{2,3},1}--a[1]与a[3]交换。后求a[3-1]={2,3}的全排列,归结到2){{1,3},2)--a

3、[2]与a[3]交换。后求a[3-1]={1,3}的全排列,归结到2){{1,2},3)--a[3]与a[3]交换。后求a[3-1]={1,2}的全排列,归结到2)...以此类推。马上用C代码实现,成功!#includeintg_count=1;intg_n=0;voidprint_result(int*a){inti=0;printf("count%d:",g_count++);for(i=0;i

4、tmp=a;a=b;b=tmp;}voidp(int*a,intsize){if(size==1)print_result(a);else{inti,tmp=0;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。