数据结构学习笔记(一)---汉诺塔
来源:互联网 发布:赵云 单挑 知乎 编辑:程序博客网 时间:2024/03/28 21:18
汉诺塔
汉诺塔:汉诺塔(又称河内塔)
问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
汉诺塔算法:
n=1 1次
n=2 3次
n=3 7次
……
n=64 264-1次 这是一个天文数字
#include <stdio.h>void hannuota(int n, char A, char B, char C){/**如果是一个盘子直接将A柱子上的盘子从A移到C否则先将A柱子上的n-1个盘子借助C移到B直接将A柱子上的盘子从A移到C最后将B柱子上的n-1个盘子借助A移到C*/if(1 == n){printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, A, C);}else{hannuota(n-1, A, C, B);printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n", n, A, C);hannuota(n-1, B, A, C);}}int main(void){char ch1 = 'A';char ch2 = 'B';char ch3 = 'C';hannuota(3, ch1, ch2, ch3);return 0;}
注意:A--开始放盘子的柱子
B—借助的柱子
C—要移动到的柱子
0 0
- 数据结构学习笔记(一)---汉诺塔
- 数据结构学习笔记(一)
- 学习笔记:数据结构(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记 (一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记(一)
- 数据结构学习笔记一
- 数据结构学习笔记(一)
- 数据结构学习笔记一
- 数据结构学习笔记(一)基础知识
- 数据结构学习笔记(一)不断更新
- HDU 2602
- 进程间通信方式及比较
- hdu3074 线段树求区间乘积(单点更新)
- Redis命令总结
- oracle dblink详解
- 数据结构学习笔记(一)---汉诺塔
- LeetCode --- Binary Tree Postorder Traversal
- navicat for linux
- sleep 和wait 的区别
- 由视图控制器联想到的设计模式
- HDU 1251 统计难题(字典树)
- ZOJ 3673 1729
- HDU 4960 Another OCD Patient(区间dp记忆化搜索)
- tomcat数据库连接池配置