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

怀旧网站设计/泰安百度推广代理

怀旧网站设计,泰安百度推广代理,wordpress页面构造器,鄂州网站建设请先看我的回溯算法的第一篇文章 以leetcode汉诺塔问题讲解 题目分析: 有三根柱子,一开始所有的盘子都在A柱子,并且最底下的最大,最上面的最小 我们要把盘子借助b,移到c的柱子上,每次只能移一步,并且保证…

请先看我的回溯算法的第一篇文章

以leetcode汉诺塔问题讲解

题目分析: 

 有三根柱子,一开始所有的盘子都在A柱子,并且最底下的最大,最上面的最小

我们要把盘子借助b,移到c的柱子上,每次只能移一步,并且保证小的在大的上面

算法原理:

第一我们要想明白为什么这道题可以用递归的方式解决???

 

可以自己试着分析一下,每次增加一个盘,都是在重复相同的子问题

也就是借助c把最大的盘的上面一堆移到b上,然后把最大的移到c,然后在把那一堆在b的借助a移到c就完成了汉诺塔问题;

此时我们发现某一个主问题可以分成相同的子问题(解决n=4的情况出现了n=3的情况,解决n=3的情况出现了n=2的情况,依次往下递归)

此时就可以用递归来解决 

 我们可以发现:我们都是将一堆盘子从一个柱子(x)借助某个柱子(y)移到另一个柱子(z)上

这样我们就可以设计我们的dfs函数,函数四个参数,三个柱子和要移动的盘子数

dfs函数的作用:完成将一堆盘子从一个柱子(x)借助某个柱子(y)移到另一个柱子(z)上

 

我们需要关系某个子问题:这样想,当N=n时

第一我需要把n-1个盘子借助z移到y上,传参要注意x/y/z

如何借助z转移到y上,我管你,dfs函数的任务就是这样,你要相信它能够完成

第二把第n个盘移到c上

第三把y的盘子借助x移到z上

这样三步就完成了递归 

 

通过观察发现,只有当n=1的时候和n=2/3/4/5的操作不一样,说明n=1的时候是出口

直接当n=1的时候,移到z盘即可

 代码编写

 递归图

可以自己尝试画着理解一下(但最好从宏观看待递归问题,也就是只要清楚dfs能完成什么任务)

 

http://www.whsansanxincailiao.cn/news/30241074.html

相关文章:

  • 武汉手机网站建设/seo优化关键词
  • 通州网站建设全包/什么是指数基金
  • 中国做网站/友情贴吧
  • aspcms是网站什么漏洞/百度快速收录技术
  • 如何做网站支付接口/推广营销
  • 网站开发视频压缩上传/互动营销平台
  • 支付宝手机网站/搜索引擎推广实训
  • 设计师图片素材网站/免费一键生成个人网站
  • php网站开发教学/武汉seo广告推广
  • 美甲网站建设方案/百度浏览器网址大全
  • 网站建设零基础自学视频教程/ds2600ii色带
  • 西安做网站 好运网络/如何宣传网站
  • 专业做网站哪个公司好/厨师培训
  • 怎样找到专业做网站人/seo推广思路
  • django电影网站开发/徐州seo顾问
  • .耐思尼克官方网站/营销活动策划方案
  • wordpress评论500/西安官网seo
  • 海口做网站优化/seo网站培训班
  • 深圳高端网站建设/百度怎么发布自己的广告
  • 集团网站建设特色/影视后期培训班一般要多少钱
  • 项目计划书的六大要素/文章优化软件
  • 免费企业网站模板下载/河北软文搜索引擎推广公司
  • 网站内容编辑器/关键词吉他谱
  • 杭州程序员培训班/旺道seo系统
  • 阳泉市建设局网站/seo网络营销推广排名
  • 小广告制作模板/宁波优化推广找哪家
  • 郑州网站制作公司汉狮/重庆专业做网站公司
  • 网络安全工程师需要学什么/仁茂网络seo
  • 做网站能不能赚钱/电脑系统优化软件哪个好用
  • 哪个网站可以预约做头发的/口碑营销方案