数据结构(c语言版)习题集.rar

RAR格式版权申诉手机打开展开

数据结构(c语言版)习题集,内包含动态储存管理,线性表,查找,数和二树杈,内容完善,建议下载阅览。③ 摘要 status fib(int k,int m,int &f)//求k阶斐波那契序列的第m项的值f{ int tempd;if(kif(melse if (m==k-1 || m==k) f=1;else{for(i...
编号:6-34992大小:94.90K
分类: 题库>其它考试

该文档为压缩文件,包含的文件列表如下:

内容介绍

原文档由会员 usactu 发布

数据结构(c语言版)习题集
内包含动态储存管理,线性表,查找,数和二树杈,内容完善,建议下载阅览。





③ 摘要
Status fib(int k,int m,int &f)//求k阶斐波那契序列的第m项的值f
{
int tempd;
if(k<2||m<0) return ERROR;
if(m else if (m==k-1 || m==k) f=1;
else
{
for(i=0;i<=k-2;i++) temp[i]=0;
temp[k-1]=1;temp[k]=1; //初始化
sum=1;
j=0;
for(i=k+1;i<=m;i++,j++) //求出序列第k至第m个元素的值
temp[i]=2*sum-temp[j];
f=temp[m];
}
return OK;
}//fib
分析: k阶斐波那契序列的第m项的值f[m]=f[m-1]+f[m-2]+......+f[m-k]
=f[m-1]+f[m-2]+......+f[m-k]+f[m-k-1]-f[m-k-1]
=2*f[m-1]-f[m-k-1]
所以上述算法的时间复杂度仅为O(m). 如果采用递归设计,将达到O(k^m). 即使采用暂存中间结果的方法,也将达到O(m^2).


④关键字 c语言描述