蔚敏《数据 构(c 言版) 集》算法 答案 第一章
1.16
void print_descending(int x,int y,int z)//按从大到小 序 出三个数
{
scanf("%d,%d,%d",&x,&y,&z);
if(xy; // 表示交 的双目运算符,以下同 if(yz;
if(xy; //冒泡排序 printf("%d %d %d",x,y,z); }//print_descending
1.17
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) f=1; else
{
for(i=0;i<=k-2;i++) temp[i]=0; temp[k-1]=1; //初始化
for(i=k;i<=m;i++) //求出序列第 k 至第 m 个元素的
{
sum=0;
for(j=i-k;j
}
f=temp[m];
}
return OK; }//fib
分析:通 保存已 算出来的 果,此方法的 度 O(m^2).如果采用 程(大 多数人都会首先想到 方法), 度将高达 O(k^m).