分享好友 最新动态首页 最新动态分类 切换频道
学习总结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模板


最新文章
微信小程序一键登录和临时code用JWT进行微信用户授权
前言:还是一如既往的写作前唠叨,作为一个java编程的学习者。我也是在写vue+springboot的前后端分离项目的空余时间简单的写了一个微信小程序的后端代码,于是就有了这一篇文章,主要记录怎么实现,以及
杨丞琳个人资料简介(庆祝出道21周年:感谢粉丝陪伴)
11月16日凌晨,杨丞琳发文庆祝自己出道21周年,她感谢粉丝陪伴:“这么多年来,何其幸运,有你们这些强而有力的后盾,给予我百分之百的支持和鼓励。未来我依然会用作品回馈大家的爱!”同时也叮嘱粉丝过好自己的生活,“你们的人生一定有比
普通人入局AI大模型,手把手带你从入门到实践!0基础学习AI大模型,看过的已经月入5w了!
在今年格外紧张的就业市场环境下,许多人都在考虑掌握一门技术以增强自己的竞争力,却往往不知道该选择学习什么。在2024年,学习人工智能无疑是一个明智的选择。对于外行人而言,AI可以被理解为一种模拟人类智能行为的技术,它通过计算机系
综合评价招生是什么意思?什么样的学生适合走综评?
2023综合评价报名已经开启,报名规划准备进入高峰!为了助力大家备考,为大家准备了以下干货,分基础篇、院校名单篇、招生条件篇、专业及限报篇、择校定位篇等12大模块,梳理考生家长常见的典型问题,如:综合评价招生是什么意思?什么样的
多语言短剧系统短剧cps系统小程序搭建实体公司
前言:短剧cps系统短剧cps系统实体公司,短剧cps系统实体公司,多语言短剧系统短剧cps系统实体公司,多语言短剧系统短剧cps系统小程序搭建实体公司,多语言短剧系统小程序搭建实体公司为了在海外市场开发并构建成功的短剧小程序并同时拥有多语
排队免单小程序开发 (定制+源码+售后)
排队返利小程序开发随着互联网的普及,实体店也要积极学习互联网思维,扩大产品的销售渠道。通过加深对互联网模式的了解,学习该模式下的销售渠道和销售方式,并学会应用微信、微博等现代网络工具,借助互联网扩展自己销售渠道的增强企业自
自驾出远门前要不要做完保养再出发
五菱宏光s有安全气囊的车型有:五菱宏光2016款1.5L S1尊享型国V、五菱宏光2015款1.5L S1舒适国V、五菱宏光2015款1.5L S1豪华国V、五菱宏光2014款1.2L S舒适型国IV、五菱宏光五菱宏光s有安全气囊的车型有:五菱宏光2016款1.5L S1尊享型国V、
房子重新装修需要多少钱,老房翻新改造价格
老房子住久了或多或少会出现一些问题,所以一般都需要进行翻新,不过老房翻新还涉及到拆改,装修费用也不便宜,装修前还是需要做好预算,那么房子重新装修需要多少钱?今天小编就为大家介绍下为老房翻新改造价格,一起来了解下吧。房子重新
输入文案自动生成视频如何操作?玩转视频创作潮流的方法分享
在如今的多媒体时代,将文字内容转化为生动有趣的视频已成为一种流行趋势。 尤其对于自媒体创作者、教育工作者以及营销人员来说,快速将长篇文案转化成引人入胜的视频,无疑大大提升了信息传递的效率和吸引力。 今天
项目管理遇到资源不足怎么办
在项目管理中,资源不足是一个常见且严峻的挑战。无论是人力资源、物资资源,还是时间资源的短缺,都可能导致项目进度受阻、质量下降,甚至最终无法按时交付。面对资源不足的情况,项目经理需要采取合理的策略和有效的方法,如优先级排序、
相关文章
推荐文章
发表评论
0评