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

搭建网站是什么网站服务器怎么搭建

搭建网站是什么,网站服务器怎么搭建,佛山cms建站系统,贵州光利达建设工程有限公司局网站1. 说明 河内之塔#xff08;Towers of Hanoi#xff09;是法国人 M.Claus#xff08;Lucas#xff09;于1883年从泰国带至法国的#xff0c;河内为越战时北越的首都#xff0c;即现在的胡志明市#xff1b;1883年法国数学家 Edouard Lucas 曾提及这个故事#xff0c;据…1. 说明 河内之塔Towers of Hanoi是法国人 M.ClausLucas于1883年从泰国带至法国的河内为越战时北越的首都即现在的胡志明市1883年法国数学家 Edouard Lucas 曾提及这个故事据说创丗纪时 Benares 有一座波罗教塔是由三支钻石棒Pag所支撑开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘Disc并命令僧侣将所有的金盘从第一根石棒移至第三根石棒且搬运过程中遵守大盘子在小盘子之下的原则若每日仅搬一个盘子则当盘子全数搬运完毕之时此塔将毁损而也就是世界末日来临之时。 2. 解法 河内之塔是一个经典的递归问题。在这个问题中目标是将所有盘子从起始棒A移动到目标棒C同时满足以下规则 每次只能移动一个盘子。不能将较大的盘子放在较小的盘子上。可以使用一个辅助棒B。 2.1 算法分析 如果只有一个盘子直接从A移动到C。如果有多个盘子 总移动次数是2^n - 1其中n是盘子的数量。 2.2 C语言实现 #include stdio.h // 递归函数实现河内之塔 void hanoi(int n, char from, char to, char aux) { if (n 1) { // 基本情况只有一个盘子 printf(Move disk 1 from %c to %c\n, from, to); return; } // 将 n-1 个盘子从 from 移到 aux hanoi(n - 1, from, aux, to); // 将第 n 个盘子从 from 移到 to printf(Move disk %d from %c to %c\n, n, from, to); // 将 n-1 个盘子从 aux 移到 to hanoi(n - 1, aux, to, from); } int main() { int n; // 盘子的数量 printf(Enter the number of disks: ); scanf(%d, n); printf(The sequence of moves:\n); hanoi(n, A, C, B); // A 是起点C 是目标点B 是辅助点 return 0; } 2.3 示例运行 输入盘子数量为3 Enter the number of disks: 3 The sequence of moves: Move disk 1 from A to C Move disk 2 from A to B Move disk 1 from C to B Move disk 3 from A to C Move disk 1 from B to A Move disk 2 from B to C Move disk 1 from A to C 2.4 运行原理 以 n 3 为例 将盘1和盘2移到辅助棒B 将盘3移到目标棒C。将盘1和盘2从辅助棒B移到目标棒C 总共7次移动符合公式 2^3 - 1 7具体图示如下所示 2.5 注意事项 此代码适用于任何正整数的盘子数量但盘子数量较大时递归深度可能超过栈的限制。时间复杂度为 O(2^n)因此对大盘子数量的计算效率较低。 3. 附件 怎么判断”河内之塔“是个递归问题呢 3.1 问题的分解特性 递归问题通常具有以下特征一个大问题可以分解为若干个结构相似的子问题且这些子问题的规模逐渐减小。我们可以把“河内之塔”问题这样分解具体如下 要把所有盘子从A移动到C首先需要将除了最大的盘子之外的盘子从A移动到B然后将最大的盘子从A移动到C最后将剩下的盘子从B移动到C。这个过程重复进行直到只剩下一个盘子时问题变得简单。 3.2 边界条件 递归算法需要明确的 基本情况边界条件也就是在递归中什么时候停止。 在“河内之塔”中当只有一个盘子时即 n 1移动问题非常简单直接将该盘子从起始棒移动到目标棒。 3.3 递归调用的结构 递归问题的关键是通过递归调用处理更小规模的子问题。在“河内之塔”中问题的递归结构如下 将 n-1 个盘子从起始棒移动到辅助棒。将第 n 个盘子即最大盘子从起始棒移动到目标棒。将 n-1 个盘子从辅助棒移动到目标棒。 这种结构显然是递归的因为它涉及到将一个较大的问题分解为两个相似的小问题并通过递归方式处理这些小问题。 3.4 数学归纳法的验证 递归问题的一个常见特性是通过 数学归纳法证明其正确性。在“河内之塔”问题中可以使用数学归纳法来证明 当 n 1 时移动一个盘子显然是正确的。假设对于 n k 时已经正确实现了将 k 个盘子从起始棒移动到目标棒。对于 n k1我们可以将问题分解为两个部分首先递归地将 k 个盘子从起始棒移动到辅助棒然后将第 k1 个盘子最大盘子从起始棒移动到目标棒最后递归地将 k 个盘子从辅助棒移动到目标棒。 通过归纳法我们可以确认这个过程适用于任意盘子的数量证明了这是一个递归问题。 3.5 总结 判断“河内之塔”是递归问题的核心依据是 问题具有分解特性大问题可以分解为更小的相同问题。存在明确的基本情况当问题规模为1时可以直接求解。问题通过递归调用来逐步解决每个子问题直到最小问题得到解决。 这些特点使得“河内之塔”可以非常自然地使用递归方法来解决。
http://www.dnsts.com.cn/news/129184.html

相关文章:

  • 分享影视资源的网站怎么做做国外搞笑网站有哪些
  • 做外贸网站价格wordpress设计师主题
  • 网站新闻公告表怎么做自己建网站写小说可行吗
  • 做竞彩网站代理犯法么微信公众帐号开发
  • 无锡网站建设企业无锡网站建设哪家做的比较好
  • 怎么做扫二维码就可以进入网站网站建设分金手指排名二八
  • 针织衫技术支持东莞网站建设企业运营管理包括哪些方面
  • 网站开发地址WordPress自助提交友情链接
  • wordpress 谷歌收录快昆明网站建设推广优化
  • 东莞做网站需要多少钱网站开发 资质
  • 做解密类网站可行写一篇软文1000字
  • 厦门网站建设公司推荐网址导航app大全
  • 沈阳网站建设德泰诺网站制作学校要的
  • 城乡住房和建设厅官网郑州seo技术服务顾问
  • seo优化网站教程百度编程培训班学费是多少
  • WordPress找不到站点产品网站开发流程
  • 优化网站关键词vps怎么搭建网站
  • 企业查询网站企查查互联网seo是什么
  • 金融投资公司网站模板企业网站需要多少钱
  • 江苏网站建设效果展示网站和营销网站的区别
  • 蓝领网站做的最好学做网站多少钱
  • 鞍山怎么样做一个自己的网站怎么去掉wordpress加载动画
  • 网站建设开发报价方案模板杭州营销策划推广公司
  • 江西智能网站建设哪里有哪个cms方便快速建站
  • 成都公司注册代理网站怎么seo关键词排名优化推广
  • 陕西网站制wordpress 多说插件
  • 郴州本地网站建设如何做融资网站
  • iis 手机网站宁波seo公司联系方式
  • 网站优化seo培训婚庆策划公司加盟
  • 广州门户网站制作公司网站开发项目经理工资