第2周项目3 ——汉诺塔程序
来源:互联网 发布:手机adb软件 编辑:程序博客网 时间:2024/06/05 02:12
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称: *作 者:冯圆 *版 本 号:v1.0 * 用递归算法求解汉诺塔问题,其复杂度可以求得为O(2n), 是指数级的算法。请到课程主页下载程序运行一下, 体验盘子数discCount为4、8、16、20、24时在时间耗费上的差异 */
// 1、汉诺塔程序
#include <stdio.h>#define discCount 4long move(int, char, char,char);int main(){ long count; count=move(discCount,'A','B','C'); printf("%d个盘子需要移动%ld次\n", discCount, count); return 0;}long move(int n, char A, char B,char C){ long c1,c2; if(n==1) return 1; else { c1=move(n-1,A,C,B); c2=move(n-1,B,A,C); return c1+c2+1; }}
运行结果:
知识的总结:
递归算法将复杂的问题变得简单
学习心得:
通过学习数据结构,写博客,感觉递归算法理解起来并不是很容易,要多研究。
阅读全文
0 0
- 第2周项目3——汉诺塔程序
- 第2周项目3 ——汉诺塔程序
- 第2周项目3——汉诺塔程序
- 第16周项目——阅读程序3
- 第3周项目3—程序的多文件组织
- 第2周、项目2—程序的多文件组织
- 第4周项目4—程序分析(2)
- 第15周实践项目1——程序填空
- 第15周项目1——程序填空
- 第15周第一项目——阅读程序
- 第16周项目——阅读程序4
- 第16周项目——阅读程序5
- 第2周项目3-程序的多文件组织
- 入门第一周项目2——绘制蟒蛇程序
- 第12周项目—阅读程序5
- 第4周项目4—程序分析(1)
- 第4周项目4—程序分析(4)
- 第15周项目 1—程序填空
- Redis基本数据类型
- Connections in Galaxy War(反向并查集)
- ios nil、NULL和NSNull 的使用
- 面向对象和面向过程的区别
- php laravel 源码阅读2(入口文件)
- 第2周项目3 ——汉诺塔程序
- 第八章 多态
- ssh连接共享
- 给新的虚拟系统磁盘分区(从虚拟机创建到项目运行二)
- 向数组中插入元素排序
- React动画效果
- 文章标题
- 安卓基础--常用的正则表达式
- 可折叠手机要来了?三星正在计划中。。。