【项目3(2)-体验复杂度 汉诺塔】
2016-09-09 10:52
134 查看
#include <stdio.h> #define discCount 4 long 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; } }
<span style="font-family:Arial;BACKGROUND-COLOR: #ffffff">运行结果:</span>
<img src="http://img.blog.csdn.net/20160909105540225?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<img src="http://img.blog.csdn.net/20160909105602487?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<img src="http://img.blog.csdn.net/20160909105634315?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<p>知识点总结:</p>对于算法复杂度的认识。
学习心得:
随着定义的盘子数的增大,需要移动的次数增大(呈指数型增长),在时间上的耗费逐渐增大;汉诺塔的例子巩固了递归算法,加深了对算法复杂度的理解,为今后设计更好的算法打下了基础。
相关文章推荐
- 第二周项目4 体验复杂度---汉诺塔
- 第二周项目3-体验复杂度(2)汉诺塔问题
- 第二周项目3--体验复杂度--汉诺塔
- 第二周—项目3 体验复杂度—汉诺塔
- 第二周-项目3 体验复杂度-汉诺塔
- 项目3 - 体验复杂度-汉诺塔
- 第2周项目3 体验复杂度(2)汉诺塔
- 第二周—项目3 体验复杂度—汉诺塔
- 第二周 【项目三】体验复杂度(2)汉诺塔
- 第二周项目3-体验复杂度(2)汉诺塔
- 第二周项目--体验复杂度-汉诺塔
- 2015-9-11 项目3 - 体验复杂度 (2)汉诺塔
- 第二周项目3--体验复杂度--汉诺塔
- 第二周 项目3-体验复杂度——汉诺塔
- 第二周实践项目3-体验复杂度(2)汉诺塔
- 第2周项目3体验复杂度之汉诺塔
- 第二周项目3复杂度体验 汉诺塔
- 第二周【项目3-体验复杂度】(2)汉诺塔
- 第二周项目3体验复杂度之汉诺塔问题
- 【第2周 项目3 - 体验复杂度(汉诺塔)】