安徽大学《数据结构》2019-2020学年期末试卷.docxVIP

  • 0
  • 0
  • 约2.75千字
  • 约 7页
  • 2026-01-21 发布于江西
  • 举报

安徽大学《数据结构》2019-2020学年期末试卷.docx

安徽大学2019—2020学年第1学期

院/系年级专业姓名学号

答题勿超装订线

------------------------------装---------------------------------------------订----------------------------------------线

《数据结构》考试试卷(B卷)

(闭卷时间120分钟)

考场登记表序号

一、算法分析题(每小题5分,共25分)

1.分析下面算法的时间复杂度。

voidFun(intn)

{inti,j,m=0;

for(i=1;i=n;i++){

for(j=2*i;j=n;j++)

m++;

}

}

2.阅读并分析下面算法,回答问题。

char*Fun(intd)

{chare;

inti=0,x;

staticcharb[MAXSIZE];//MAXSIZE为常量

SqStackst;InitStack(st);

while(d!=0){

x=d%16;if(x10)e=0+x;elsee=A+x-10;Push(st,e);d/=16;

}

while(!StackEmpty(st)){

Pop(st,e);b[i++]=e;

}

b[i]=\0;DestroyStack(st);

returnb;

}

(1)请指出Fun(d)算法的功能。

(2)当d=100时,执行Fun(d)后,数组b的值是什么?

题号

总分

得分

阅卷人

得分

第1页共6页

3.阅读并分析下面排序算法,回答问题。

voidFun(inta[],intn)

{inti,j,dtmp;d=n/3;

intl=0,h=n-1,m;

while(true)

{for(i=d;in;i++)

{tmp=a[i];

j=i-d;

while(j=0tmpa[j])

{a[j+d]=a[j];

j=j-d;

}

a[j+d]=tmp;

}

if(d==1)break;

elseif(d3)d=1;

}

}

elsed/=3;

(1)请指出Fun(a,n)算法的功能。

(2)当a[]={5,1,3,6,2,7,4,8}时,问Fun(a,8)共执行几趟排序?各趟的排序结果是什么?

4.阅读并分析下面算法,回答问题。

voidFun(inta[],intn)

{inti=0,j=0;

inttmp;

while(jn){

if(a[j]%2==1)//a[j]为奇数

{

tmp=a[i];

a[i]=a[j];

a[j]=tmp;

i++;

}

j++;

}

}

(1)请指出Fun(inta[],intn)算法的功能。

(2)若a[]={1,2,3,4,5,6,7,8},执行Fun(a,8)后数组a的结果是什么?

第2页共6页

5.阅读并分析下面算法,回答问题。

院/系年级专业姓名学号

答题勿超装订线

------------------------------装---------------------------------------------订----------------------------------------线

intFun(LinkListL,inti,ElemTypee)//L为带有头结点的单链表

{intj=0;

LNode*p=L,*s;

while(ji-1p!=NULL){

j++;

p=p-next

}

if(p==NULL)return0;

else{

s=newLNode;s-data=e;

s-next=p-next;p-next=s;

文档评论(0)

1亿VIP精品文档

相关文档