- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安徽财经大学管工学院计算机系《数据结构与算法》实验报告
PAGE
PAGE 2
实验1 对比算法的时空效率
实验室:信息工程实验室
实验日期: 2014.2.28
节次/周次:第 6 节/第 1 周
班 级: 12计科3
学号姓名:张翔
开发环境及工具:
软件环境:
操作系统:windows 7
开发工具:Visual C++ 6.0
硬件环境:
主频:
内存大小:
硬盘空间大小:
实验目的:
熟悉开发工具的编程环境。
熟悉算法语言并完成简单的算法。
熟悉C语言的语法,将算法上机编程实现。
区别算法和源程序。
体会用不同算法解决同一个问题,体会存储结构不同对实现算法的影响。
学习对算法进行时空分析的基本方法。
了解评价一个算法的基本准则。
实验题目:
题目1:试编写算法(递推算法)完成N行杨辉三角的输出,并编程实现。要求:存储结构采用一维数组,二维数组分别实现,体会不同。
题目2:试编写算法求n!,并编程实现。要求:用递推和递归的方法分别实现。
题目3(任选题):试编写算法求矩阵A和B的乘积,并编程实现。要求,矩阵的行数列数由用户随机输入,用二维数组存储,数组的大小与矩阵的大小一致,矩阵的数据范围是[0,100]的整数,可由随机函数自动生成,或者由用户键盘输入。
题目4(任选题):试编写求k阶(k=2)裴波那契序列的第m项值的不同算法,并编程实现。k和m均以值调用的形式在函数参数中表现。要求:至少用两种不同的算法(如,递推、递归等等)。
提示:当k=2时,裴波那契序列的初始两项为0、1,此后序列的每个值都是前两项之和。当k=3时,裴波那契序列的初始三项为0、0、1,此后序列的每个值都是前三项之和,以此类推。
也可另行自拟题目(要详细描述要求)。
二.存储结构说明和定义:
三.主要算法
(给出主要算法及说明。并给出所有函数的函数头并说明函数功能和主要参数的作用及类型等。即注意区别算法与源程序不同)
1.1杨辉三角
#include iostream
using namespace std;
int main()
{
int a[10]={1},i,j;
for(i=0;i=10;i++)
{for(j=i;j=0;j--)
{if (j!=0j!=i)
a[j]=a[j-1]+a[j];
else
a[j]=1;
couta[j] ;}
coutendl;}
return 0;
}
1.2
#include iostream
using namespace std;
int main()
{
int i,j,t;
int a[11][11];
for(i=1;i=10;i++)
{a[i][1]=1;
a[i][i]=1;}
for(i=1;i=10;i++)
{
if(i=3)
for(t=2;ti;t++)
{
a[i][t]=a[i-1][t-1]+a[i-1][t];
}
}
for(i=1;i=10;i++)
{
for(j=1;j=i;j++)
{
couta[i][j] ;
}
coutendl;
}
return 0;
}
2.1 n的阶乘
#include iostream
using namespace std;
int main()
{
int i,n,s=1;//定义变量
cout请输入数字:;
cinn;
if(n0)
coutn0,错误endl;
else
{for(i=1;i=n;i++)
s=s*i;
coutn!=sendl;}
return 0;
}
2.2
#include iostream
using namespace std;
long fac(int);//函数声明
int main()
{
int n;
long y;
cout请输入数字:;
cinn;
y=fac(n);//调用fac函数求n!
coutn!=yendl;
return 0;
}
long fac(int n)//递归函数
{
long f;
if(n0)
{coutn0,错误endl;f=-1;}
else if (n==0||n==1)f=1;
else f=fac(n-1)*n;//n1时,进行递归调用
return f;将f的值作为函数值返回
}
四.程序运行结果截图:
运行时至少用三组不同的数据验证,并分析结果正确与否,,以便从不同角度来观察分析,每次运行结果截图(图片剪裁后再粘贴要清晰!)。
1.1
1.2
2.1
2.2
五. 本次实验的总结
分析自己的算法
说明编程并上机调试实现算法时遇到的问题
上机完成任务后体会算法与源程序的书写有哪些不同?
对本次实验的完成
原创力文档


文档评论(0)