打印汉诺塔过程
用代码实现 打印汉诺塔最优解的过程
废话少说咱们直接开始(‾◡◝)
首先先来看看汉诺塔问题的定义:
汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。[1]
那我们简化一下问题:变成三个圆盘,毕竟我们也买不起这么多黄金圆盘
(才不是我懒~( ̄▽ ̄)~*)
如图我们要移动三个圆盘到最边上,而且小圆盘上不能放大圆盘
那我们分析要让所用圆盘移到右边,很显然根据规则可以知道最下面的圆盘肯定要先移到最右边,不然移动别的大的就放不下了;
同时也可以看出:
要让最下面的圆盘移到最右边,就要让它上面的圆盘移到中间(就像把大象塞进冰箱要怎么办的问题一样)
顺着思路也就可以分析它上面的圆盘移到中间的问题,如果把中间的杆子当成右边的(即目标杆),那问题就变成两层的汉诺塔问题了(底层的那个金盘你会发现有没有都无所谓),那就很显然是一个递归问题了,下 ...
学成在线项目介绍
学成在线
介绍
本项目基于黑马程序员的 《学成在线》 项目搭建 仅供学习参考
在线教育行业是一个有着极强的广度和深度的行业,从校内到校外;从早幼教到职业培训;从教育工具到全信息化平台等等。
学成在线项目是本公司自研的一个专门针对成人职业技能教育的网络课堂系统,网站提供了成人职业技能培训的相关课程,如:软件开发培训、职业资格证书培训、成人学历教育培训等课程。项目基于B2B2C的业务模式,培训机构可以在平台入驻、发布课程,运营人员对发布的课程进行审核,审核通过后课程才可以发布成功,课程包括免费和收费两种形式,对于免费课程可以直接选课学习,对于收费课程在选课后需要支付成功才可以继续学习。
软件架构
本项目包括了用户端、机构端、运营端。
核心模块包括:内容管理、媒资管理、课程搜索、订单支付、选课管理、认证授权等。
下图是项目的功能模块图:
本项目采用前后端分离架构,后端采用SpringBoot、SpringCloud技术栈开发,数据库使用了MySQL,还使用的Redis、消息队列、分布式文件系统、Elasticsearch等中间件系统。
划分的微服务包括:内容管理服务、媒资管理服务、搜索服 ...
文档上的注释
Front-matter 采用 YAML 格式
源码:
12345678910---title: # 标题date: # 日期tags: # 标签- categories: # 分类-cover: /img/***.jpg # 封面 相对路径或者使用网址indexing: false # 生成的搜素(此功能需要手动开启)结果将不包含此帖子或页面---
可以参考官方文档
注意事项:
title 不建议写中文或者网站采用hash算法(避免网址中文乱码)
采用hash算法设置(主路径下的_config配置中的下面位置):
12345678910# URL## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'url: https://***.github.io# 改这里 原先是 :year/:month/:day/:title/ -> :year/:month/:day/:hash/permalin ...
推荐关注
B站
老陌Ss UID:1343324216
左神(左程云)的算法课 (我个人认为最好的算法课没有之一)
极海Channel UID:1525355
我的B站号
长夜有晨星 UID:95747099
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment