猴子吃桃子问题_第1页
猴子吃桃子问题_第2页
猴子吃桃子问题_第3页
猴子吃桃子问题_第4页
猴子吃桃子问题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计 班级: 姓名: 学号: 日期:201113目 录1 问题描述12 需求分析13 概要设计231函数应用232模块划分24 详细设计35 测试分析106 课程设计总结111. 问题描述猴子吃桃子问题 有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。用多种方法实现求出原来这群猴子共摘了多少个桃子。 要求:1) 采用数组数据结构实现上述求解2) 采用链数据结构实现上述求解3) 采用递归实现上述求解2 需求分析1) 根据问题已知第十天剩余桃子数,求总共桃子数,我们先列出方程可知,有后往前推可知道每天剩余桃子数 ,这样来求解。2) 栈链比较困难,需要跟递归联系,递归实现在说。3) 递归实现可以有数组上体现f(n)=2f(n+1)+2,跟数组的道理查不多,而栈链实现也需要这个方程,所以整个程序是相通的。3概要设计1) 函数应用除了主函数以外大部分都是算法函数,还有栈的输入与输出函数:void main()Push(&S,&e)Pop(&S,&e)2)模块划分本程序包括四个模块:( 1 ) 主程序模块void main()初始化;数组求解;递归求解;栈链求解;( 2 ) 栈模块实现栈的抽象数据类型( 3 ) 数组模块实现数组的运用( 4 ) 递归模块实现递归的运用4 详细设计#includestdio.h#includestdlib.h#define N 20typedef struct node int datax; int datay; struct node *next;Node;typedef Node *LinkStack; LinkStack Push(LinkStack s,int a, int b)Node *p;p=(LinkStack)malloc(sizeof(Node);p-datax=a;p-datay=b;p-next=s;s=p;return s;LinkStack Pop(LinkStack s) LinkStack p;if(s=NULL)printf(栈已空n);return NULL;p=s;s=s-next;free(p);return s;void Zhanlian(int n)int f;LinkStack s=NULL;for(n=1;ndatax*f+s-datay;s=Pop(s);printf(%dn,f);elses=Push(s,2,2);void suzhu()int i,aN;a10=1;for(i=9;i=1;i-)ai=2*ai+1+2;printf(%dn,a1);int fun(int n)if(n=10)return 1;elsereturn(2*fun(n+1)+2);/*主函数*/void main()int sum;printf(数组实现:);suzhu();printf(栈链实现:);Zhanlian(1);printf(递归实现:);sum=fun(1);printf(%dn,sum);5 测试分析测试数据及结果如下图 :6 课程设计总结总的来说这次课程设计还是学到了一些东西,可能还有很多不足的地方,但希望在以后是学习中补足。总结了一下在这次课程设计中学到的东西,一方面除了进一步巩固了平常上课所学到,和以前学到的东西外。另一方面就是自己的不足了,有时一些以前学过的东西自己不会用,用了反而使程序更复杂,所以一开始的程序很复杂,但是在查过资料后改进才有了这个程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论