第2周项目3——汉诺塔程序
来源:互联网 发布:java sdk是什么 编辑:程序博客网 时间:2024/06/01 07:45
问题及代码:
/**Copyright (c) 2017,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:*作 者:董丽娟*完成日期:2017年9月9日*版 本 号:v1.0* 用递归算法求解汉诺塔问题,其复杂度可以求得为O(2n), 是指数级的算法。请到课程主页下载程序运行一下, 体验盘子数discCount为4、8、16、20、24时在时间耗费上的差异 */
#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—程序填空
- 基于VLC框架的Android视频播放器Demo
- 【python学习笔记】Python自带特殊方法一览
- sklearn.preprocessing.LabelEncoder和onehotencoder
- line-height的继承问题
- c语言函数指针的理解与使用
- 第2周项目3——汉诺塔程序
- 动态更换plist资源时调用清空缓存的函数
- weblogic silent mode安装
- toolBar 菜单栏不显示图标的问题
- day2基础
- 51Nod-1089 最长回文子串 V2(Manacher算法)
- linux之printk和printf的区别
- Mac环境安装imagemagick及使用imagemagick拼接图片
- kmp算法及改进