全国2010年10月高等教育自学考试 数据结构试题(二)

时间:2011-12-25 13:20:02

微信搜索关注"91考试网"公众号,领30元,获取事业编教师公务员等考试资料40G
充分利用整个向量空间?

(2)若stackl的栈顶指针为topl,stack2的栈顶指针为top2,如果需要充分利用整个向量空间,则:

栈stackl空的条件是:___________;

栈stack2空的条件是:___________;

栈stackl和栈stack2满的条件是:___________。

27.已知广义表如下:

A=(B,y)

B=(x,L)

L=(a,b)

要求:

(1)写出下列操作的结果

tail(A)=_______________.

head(B)=______________。

(2)请画出广义表A对应的图形表示。

28.已知二叉树如下:

请画出该二叉树对应的森林。

29.请回答下列问题:

(1)英文缩写DAG的中文含义是什么?

(2)请给出下面DAG图的全部拓扑排序。

四、算法阅读题(本大题共4小题,每小题5分,共20分)

30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有小于0的元素移到全部大于等于0的元素之前。例如,有7个整数的原始序列为(x,x,-x,-x,x,x,-x),变换后数组中保存的序列是(-x,-x,-x,x,x,x,x)。请在程序处填入合适的内容,使其成为完整的算法。

f30(int a[],int n)

{  int  k,m,temp;

m=    (1)   

while  (a[m]<0 &&m<n)

m=    (2)   

k=m;

while  (k<n)

{  while(a[k]>=0&&k<n)

k=    (3)   

if(k<n)

{  temp=a[k];

a[k]=a[m];

a[m]=    (4)   

m=    (5)   

}

}

}

(1)

(2)

(3)

(4)

(5)

31.阅读下列程序,并回答问题:

#include<stdio.h>

substr(char*t,char*s,int pos,int len)

{  while(len>0&&*s)

{  *t=*(s+pos-l);

t++;s++;len--;

}

*t='';

}

char  *f31(char*s)

{   char  t[100];

    if  (strlen(s)=1)

       return  s;

    substr(t,s,1,1);

    substr(s,s,2,strlen(s)-1);

    f31(s);

    return strcat(s,t);

}

main( )

{   char str[100]= ''String'';

    printf(''%sn'',f31(str));

}

(1)请写出执行该程序后的输出结果;

(2)简述函数f31的功能。

32.下面程序实现插入排序算法。

typedef  struct{

int  key;

Info  otherinfo;

}SeqList;

void  InsertSort(SeqList  R[],int  n)

{/* 待排序列保存在R[1..n]中*/

SeqList  x;

int  i,j,k,lo,hi,mi;

for  (i=2;i<=n;i++)

{

    (1)   

lo=1;

hi=i-l;

while  (lo<=hi)

{

mi=(lo+hi)/2;

if  (    (2)    )  break;

if  (R[mi].key>x.key)  hi=mi-l;

else  lo=mi+l;

}

if  (mi=lo)  k=i - mi;

else  k=i - mi-1;

for  (j=0;j<k;j++)

    (3)   

R[i-j]=x;

}

}

在空白处填写适当的内容,使该程序功能完整。

(1)

(2)

(3)

33.设有单链表类型定义如下:

typedef  struct  node {

int  data;

struct  node  *next;

} *LinkList;

阅读下列算法,并回答问题:

void  f33(LinkList  head,  int  A,  int  B)

{

LinkList p=NULL;

While  (head !=NULL)

{

if  (head->data>A&&head->data<B)

p=head;

head=head->next;

}

if  (p !=NULL)

printf("%dn",p->data);

}

(1)已知链表h如下图所示,给出执行f33(h,5,8)之后的输出结果;

(2)简述算法f33的功能。

五、算法设计题(本题10分)

34.已知二叉树的定义如下:

typedef  struct  node{

int  data;

struct  node  *lchild,  *rchild;

}*Bitptr;

编写递归算法求二叉树的高度。函数原型为:int  f34(Bitptr  t);

 

全国2010年1月高等教育自学考试

数据结构试题

课程代码:02331

一、单项选择题(本大题共15小题,每小题2分,共30分)

  在每小题列出的四个备选项中只有一个是符合题目要求的,


首页 上页 1 2 3 下页 尾页 2/8/8
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G
【省市县地区导航】【考试题库导航】
 ★ 自学考试省级导航 ★ 
全国 A安徽 B北京 C重庆 F福建 G广东 广西 甘肃 贵州 H河南 河北 湖南 湖北 黑龙江 海南 J江苏 江西 吉林 L辽宁 N内蒙古 宁夏 Q青海 S山东 山西 陕西 四川 上海 T天津 X新疆 西藏 Y云南 Z浙江 历年真题分类检索
 ★ 自学考试导航 ★ 
 ★ 自考报名 ★ 

电脑版  |  手机版  |  返回顶部