当前位置: 首页 > wzjs >正文

根据网站做appgoogle官网浏览器

根据网站做app,google官网浏览器,个旧市哪里有做网站,上海企业网站建设题目分析: 给一个数组,列出它的全排列 算法原理分析: 这里就是一个穷举/枚举的原理,就是罗列所有的可能情况 第一步:画决策树(越详细越好) 就是你如何暴力穷举每一种情况,把你的…

题目分析:

给一个数组,列出它的全排列

算法原理分析:

这里就是一个穷举/枚举的原理,就是罗列所有的可能情况

第一步:画决策树(越详细越好)

就是你如何暴力穷举每一种情况,把你的思考过程详细的画下来

注意:决策树可能不一样,但如果决策树能写出代码,你的决策树就是对的,一道题可能有多种决策树

 

假设我们有三个数,我们开始画决策树,看图,在最左边的时候,我们第一个已经选1了,下一个位置依旧可以选1/2/3,但是题目有说不重复的树,这就利用到我们以前学的剪枝操作,把1的位置剪掉即可(当这个情况不符合要求的时候,剪掉,也就是这个1后面的分支我就不在考虑了

 

可以自己尝试画一下决策树,看一下是否和上图一样 

可以发现我们每一个结点都是重复填1/2/3,无非就是有些要剪枝

每一个结点都在重复一件事,此时你是否想到递归,这样你的决策树就可以写成递归代码

第二步:设计代码

 考虑三点:1.全局变量

                   2.dfs函数

                   3.细节

1.全局变量,你每一步需要用什么以及需要返回什么(注意,如果能设计成全局变量最好设计成全局变量,如果设成全局变量操作起来比较麻烦,在想方法设成函数参数,因为有些题可能需要3/4个全局变量,你全部塞到函数参数中,会很头疼,思路不清晰)

这里我们发现:返回一个二维数组,所以我们可以设一个二维数组的全局变量ret去保存结果,最后返回即可

然后我们发现每次回溯->恢复现场也要一个全局变量,我们设一个path,path的作用:当你回溯的时候要恢复现场,也就是pop掉path的最后一个元素即可,然后在进入另一条路径

现在我们有了path,可以自己模拟一下怎么走的,但发现剪枝问题如何解决呢???

此时可以在设一个全局变量,也就是bool check[],这里面存储每个元素是否已经被使用了

也就是你此时处于某个结点,你枚举是不是来一个for循环,从1枚举到3,如果判断1在check中已经使用了,那就不会在进入(完成剪枝操作)然后枚举2,check中是false,那就进入dfs

2.dfs函数:仅需关心每一个结点所做的事情

dfs:枚举数字

3.细节问题 

关心三点:1.回溯:干掉path最后一个元素,还要把check中对应位置改为true;

                  2.剪枝:通过check来完成剪枝

                  3.递归出口:遇到叶子结点,把path添加到ret即可 

代码编写: 

递归什么时候结束???

看第一个for循环

也就是你第一个位置填1,进去枚举所有以1开头的所有情况

下一次循环2,第一个位置填2,进去枚举所有以2开头的所有情况

下一次循环3,第一个位置填3,进行枚举所有以3开头的情况

第一个枚举完1/2/3后循环结束,dfs函数调用结束 

http://www.dtcms.com/wzjs/459368.html

相关文章:

  • wordpress修改摘要字数限制seo一般包括哪些内容
  • wordpress冷门二次元主题温州seo品牌优化软件
  • 徐州做网站公司哪家好怎么让自己上百度
  • 徐州网站制作报价百度网站登录
  • 推进门户网站建设搜索词分析工具
  • mobi网站怎么注册抖音seo运营模式
  • 在百度做推广送网站好吗扬州百度推广公司
  • 做网站膜网站怎么做新网站seo外包
  • 丰台网站建设公司建网站哪个平台好
  • 深圳华强做网站唯尚广告联盟平台
  • 2016网站设计百度网页版入口链接
  • 广州直销网站建设百度搜索大数据
  • 济南网站建设报价沧州网站建设推广
  • java开发就是做网站么百度企业网盘
  • 湖南平台网站建设方案近两年成功的网络营销案例及分析
  • 手机编程软件pythonseo快速优化报价
  • 校园网站建设报告创建网站的流程是什么
  • 网站建设图片怎么调百度统计代码
  • 设计素材网站哪个好用永久免费开网店app
  • 着力加强网站内容建设常见的微信营销方式有哪些
  • 保定网站制作百度推广区域代理
  • 网站建设如何收费长沙网站制作推广
  • 可以做网络兼职的网站谷歌浏览器官网入口
  • 福州建设网站的公司搜索引擎优化策略包括
  • 代理网页风和日丽网站如何优化排名软件
  • 个人网站可以做c2c吗外包网站有哪些
  • 深圳网站建设网络推广如何做好seo优化
  • 直接IP做网站百度移动排名优化软件
  • 浙江建设网站首页提升关键词排名seo软件
  • wordpress 邮件 gmail深圳网站seo优化公司