分享好友 最新动态首页 最新动态分类 切换频道
学习总结4
2024-12-27 09:51

假设开始为1,第二个位置有2和3两个数供选择,如果第2个数选择3,那么第3个数只能选2.返回第二步则可以选择2,又生成另一种排序。之前acm社团讲题时提到过这个算法,但没有代码演示,遂没有深究。但只对三个数进行全排列,用3个for循环也可以解决。代码如下

学习总结4

 

如果对4个数呢,4个for循环,对n个数呢?显然不行。

基于开头的思想,一条路走到黑到死胡同了,然后返回一步,再看看有没有其他路口,不行再退一步.....

先给出1~n(n<9)的全排类代码吧,边看边分析(其实我也不太熟悉,初学

 

就用n=3来举例。从main函数进入dfs函数,此时step=1,表示第一步。具体作用表示在于排列元素的标号,因为后面会有a[step]=i给排列列表赋值。此时book数组元素全为0,开始搜索。i=1,先判断book[i]是否等于0,此时进入赋值部分:a[1]=1,book[1]=1。接着递归dfs(step+1)对第二个元素处理,即找第一个元素的分支。此时book[i]=0,退出循环,i++。i==2,同上a[2]=2,book[2]=1.继续推则有

a[1]=1,a[2]=2,a[3]=3 .此时n=4,输出序列1 2 3.book[3]=0(路走到尽头了,i=3,不再进入循环,回到第二层搜索,book[2]=0,再次判断,book[i]=0 (i==3),于是a[2]=3,book[3]=1,再次进入下一层搜索搜索a[3]=2,book[2]=1,得到序列1 3 2.(有点绕晕了,越讲自己越迷糊。

来自网上搜到的dfs模板


最新文章
自助共享棋牌室小程序怎么开发?
自助共享棋牌室小程序怎么开发?这是当前市场中一个备受关注的话题,尤其在疫情后,很多人选择在家中进行休闲娱乐,而自助共享棋牌室的需求日益增加。作为一家专注于游戏和预约系统开发的企业,广州创智慧科技有限公司凭借其丰富的技术积累
百度中山公司
公司简介:公司简介:作为全球规模**大的中文搜索引擎,百度致力于向用户提供**便捷的搜索服务。百度拥有全球**大的中文网页库,每天处理来自一百多个国家的超过一亿人次的搜索请求。简单强大的搜索功能深受网民的信赖,每天有超过七万用户
打造高效网站导航,规划与实施全方位指南
高效实用的网站导航搭建攻略:首先明确网站定位与用户需求,规划导航结构,合理布局;选择合适的导航菜单设计,确保清晰易用;通过优化用户体验和搜索引擎优化,提升导航效果。规划阶段设计阶段实施阶段在互联网飞速发展的今天,网站如雨后
新奥2024今晚开奖结果,高效实施方法解析_WP版22.93
新奥2024彩票,作为全球最大的彩票之一,今晚的开奖结果备受瞩目。彩票爱好者们早已摩拳擦掌,准备迎接这一激动人心的时刻。新奥彩票以其公正性、透明度和高奖金而闻名,吸引了全球数以亿计的参与者。随着开奖时间的临近,彩票销售点外排起
第23章阿里布达年代
变异豺狼在嘶吼,绝命飞刀破空无声,令它难以判断飞刀的轨迹,一时不查竟然连被攻击了两次,可他却连对手的人影子都没见到,实在是太憋屈了。林雪家住在九楼,这种老式住宅是没有电梯的,不过以洪武的身体素质爬上个九楼连汗都没出,仅仅几
用AI生成超逼真美女写真,轻松打造你的个性化图像!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在数字艺术的快速发展中,AI生成图像的技术逐渐普及。最近,有一款名为搜狐简单AI的工具,引
最准一码一肖100%凤凰网释义与警惕犯罪行为的深入探讨
在当今社会,随着互联网的普及和科技的飞速发展,各种信息充斥在我们的日常生活中。“最准一码一肖100%凤凰网”这样的关键词组合,时常出现在人们的视野中,这样的信息背后往往隐藏着复杂的问题,需要我们深入解析并警惕其中可能存在的违法
百度seo排名优化助手介绍
百度SEO排名优化助手是一款针对百度搜索引擎的优化工具,旨在帮助企业或个人提高网站在百度搜索结果页(SERP)的排名和曝光率。以下是对百度SEO排名优化助手的详细介绍:一、主要功能关键词研究与推荐根据企业的需求和目标,提供关键词研究
直播热潮来袭,朋友圈如何巧妙发布?快来一起探索!
直播封面和标题是吸引观众的第一道门槛。因此,要精心制作直播封面和标题,让它们醒目、吸引人。可以使用一些有趣的图片、文字或者动态效果来制作封面,让观众一眼就能被吸引。同时,标题也要简洁明了、有吸引力,能够概括直播内容或者引起
Ubuntu14.04中使用docker容器部署tomcat镜像+java web项目
一、部署tomcat1、Ctrl+Alt +t打开命令2、获取root权限:3、输入密码4、创建文件夹tomcat7,命令如,并且切换到该目录下:5、在tomcat7文件夹下,创建Dockerfile6、编辑Dockerfile7、完成以下命令编写8、用如下命令构建镜像9、如下命令会运
相关文章
推荐文章
发表评论
0评