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

洛阳做网站的公司市场监督管理局

洛阳做网站的公司,市场监督管理局,南昌做网站的公司哪个比较好的,集群注册的公司可以做网站备案目录 一:起源 二:问题描述 三:规律 三:解决方案 递归算法 四:代码实现 复杂度分析 一:起源 汉诺塔(Tower of Hanoi)问题起源于一个印度的古老传说。在世界中心贝拿勒斯&#…

目录

一:起源

二:问题描述

三:规律

三:解决方案

递归算法

四:代码实现

复杂度分析


一:起源

汉诺塔(Tower of Hanoi)问题起源于一个印度的古老传说。在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的 64 片金片,这就是所谓的汉诺塔。

不论白天黑夜,总有一个僧侣按照下面的法则移动这些金片:

I. 一次只移动一片,不管在哪根针上

II. 小片必须在大片上面

僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。

二:问题描述

有三根柱子(通常标记为 A、B、C),在其中一根柱子(如 A 柱)上从下到上按大小顺序摞着 n 个圆盘,要求把这 n 个圆盘从起始柱移动到目标柱,每次只能移动一个圆盘并且在移动过程中任何时候都不能出现大盘在小盘上面的情况。辅助柱用于在移动过程中临时存放圆盘。

三:规律

  • 移动次数规律:对于 n 个圆盘的汉诺塔问题,最少需要移动的次数为 \(2^n - 1\) 次。

例如:

当 (n = 1) 时,只需移动 1 次;

当 (n = 2) 时,需要移动 (2^2 - 1 = 3) 次;

当 (n = 3) 时,需要移动 (2^3 - 1 = 7) 次,

以此类推。

  • 递归规律:可以将 n 个圆盘的汉诺塔问题分解为三个子问题:
    1. 把上面的 \(n - 1\) 个圆盘从起始柱借助目标柱移动到辅助柱。
    2. 把最大的第 n 个圆盘从起始柱移动到目标柱。
    3. 把 \(n - 1\) 个圆盘从辅助柱借助起始柱移动到目标柱。

三:解决方案

递归算法

递归是解决汉诺塔问题最常用的方法,其核心思想是将大问题分解为小问题

说到这,小伙伴们是否会自然而然会想到分治算法呢?(C语言)算法复习总结2——分治算法-CSDN博客

四:代码实现

#include <stdio.h>// 递归函数用于解决汉诺塔问题
void hanoi(int n, char source, char target, char auxiliary) {if (n == 1) {// 当只有一个圆盘时,直接从源柱移动到目标柱printf("Move disk 1 from %c to %c\n", source, target);return;}// 把 n-1 个圆盘从源柱借助目标柱移动到辅助柱hanoi(n - 1, source, auxiliary, target);// 把第 n 个圆盘从源柱移动到目标柱printf("Move disk %d from %c to %c\n", n, source, target);// 把 n-1 个圆盘从辅助柱借助源柱移动到目标柱hanoi(n - 1, auxiliary, target, source);
}int main() {int n = 3;  // 圆盘的数量// 调用 hanoi 函数开始移动圆盘hanoi(n, 'A', 'C', 'B');return 0;
}

复杂度分析
  • 时间复杂度:由于每次递归调用都会将问题规模减小 1,且每次调用会产生两个新的递归调用,所以时间复杂度为 (O(2^n))
  • 空间复杂度:递归调用栈的最大深度为 n,因此空间复杂度为 (O(n))

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

相关文章:

  • 做外贸 上国外网站谷歌商店下载安装
  • wordpress官方手机客户端抚州网站seo
  • 网站建设怎么配置伪静态文件上海全国关键词排名优化
  • 嘉兴市建设官方网站技能培训机构排名前十
  • 自己公司怎样弄个网站网络营销的常用工具
  • 阳江 网站建设seo研究中心学员案例
  • 东莞网站建设哪家最好公众号推广渠道
  • 郑州市有做网站的吗免费网站制作成品
  • 福州企业建站程序淘词神器
  • 网站只能手机打开代码网站模板平台
  • 网站建设延期合同书优化大师免费版
  • 教育网站建设的素材今日热点新闻一览
  • 郑州鹏之信网站建设搜索引擎关键词排名
  • app和网站的区别是什么seo职业发展
  • 中恒建设集团有限公司 网站一个域名大概能卖多少钱
  • 郑州个人网站开发河南网站推广那家好
  • 河北网站备案管理系统百度怎么进入官方网站
  • 有哪些网站做国外生意的网络黄页平台网址有哪些
  • 东营做网站tt0546sem和seo区别与联系
  • seo技术蜘蛛屯seo的基本步骤包括哪些
  • 网页设计公司申请邯郸seo
  • 撩人的网站怎么做如何做好宣传推广
  • b2c网上购物商城网站今日热点新闻头条国内
  • dede个人网站seo入门教程
  • 网站建设 主要学是么网课免费平台
  • 网络营销网站建设案例推广seo公司
  • 口碑营销论文百度搜索引擎优化公司哪家强
  • 网站建设验收合格确认书广州seo工程师
  • 制作测试题网站怎么做安卓优化大师官方版
  • 学院网站建设时间控制变更申请表百度网页版主页