设为首页    加入收藏

自学考试省级导航

全国 A安徽 B北京 C重庆 F福建 G广东 广西 甘肃 贵州 H河南 河北 湖南 湖北 黑龙江 海南 J江苏 江西 吉林 L辽宁 N内蒙古 宁夏 Q青海 S山东 山西 陕西 四川 上海 T天津
     X新疆 西藏 Y云南 Z浙江 历年真题分类检索

全国2011年10月自学考试数据结构试题 (清晰word版)(二)
2013-04-10 19:53:26 来源:91考试网 作者:www.91exam.org 【
四、算法阅读题(本大题共4小题,每小题5分,共20分)
30.阅读下列算法,并回答问题:
(1)假设L=(3,7,7,11,20,20,20,51,51),写出执行函数f30(&L)后的L;
(2)简述f30的功能。
  void f30(SeqList*L)
  {   ∥L为非空的有序表
      int i=1,k=0;
      while(i<L->length)
    {
if(L->data[i]!=L->data[k])
L->data[++k]=L->data[i];
i++;
}
L->length=k+1;
}
(1)
(2)
31.阅读下列算法,并回答问题:
(1)假设栈S=(3,8,6,2,5),其中5为栈顶元素,写出执行函数f31(&S)后的S;
(2)简述函数f31的功能。

void f31(Stack *S){
Queue Q;InitQueue(&Q);
while(!StackEmpty(S))
EnQueue(&Q,Pop(&S));
while(!QueueEmpty(Q))
Push(&S,DeQueue(&Q));
}
(1)
(2)
32.假设具有n个结点的完全二叉树顺序存储在向量BT[1.. n]中,阅读下列算法,并回答问题:
(1)若向量BT为:
A B C D E F G
     1     2    3    4     5    6    7
画出执行函数f32(BT,7,1)的返回结果;
(2)简述函数f32的功能。
  BinTree  f32(DataType   BT[],int n,int i)
 {
BinTree  p;
if  (i>n)  return  NULL;
p=(BinTNode*)malloc(sizeof(BinTNode));
p->data=BT[i];
p->lchild=f32(BT,n,i*2);
p->rchild=f32(BT,n,i*2+1);
return   p;
}
(1)
(2)
33.已知有向图的邻接表和邻接矩阵定义如下:
﹟define  MaxNum  50      ∥图的最大顶点数
typedef  struct  node {
      int  adjvex;      ∥邻接点域
struct  node  *next;         ∥链指针域
}   EdgeNode;      ∥边表结点结构
typedef   struct{
    char  vertex;      ∥顶点域
    EdgeNode  *firstedge;      ∥边表头指针
}   VertexNode;      ∥顶点表结点结构
typedef   struct {
    VertexNode   adjlist [MaxNum];               ∥邻接表
    int  n,e;         ∥图中当前顶点数和边数
}  ALGraph;      ∥邻接表描述的图
typedef  struct{
   char   vertex[MaxNum];         ∥顶点表
   int   adjmatrix [MaxNum][MaxNum];      ∥邻接矩阵
   int   n,e;      ∥图中当前顶点数和边数
} AMGraph;      ∥邻接矩阵描述的图
下列算法是将邻接表描述的图G1改为邻接矩阵描述的图G2,在空白处填上适当内容使算法完整:
void   f33(ALGraph G1,AMGraph *G2)
{   int    i,   j;
    EdgeNode   *p;
G2->n=G1.n;
     G2->e=     (1)     ;
for   (i=0;  i<G1.n;  i++)
{    G2->vertex[i]=     (2)     ;
p=G1.adjlist[i].firstedge;
for   (j=0;   j<G1.n;  j++) G2->adjmatrix[i][j]=0;
while   (p)
{    G2->adjmatrix[i][p->adjvex]=1;
     (3)     ;
}
    }
}
(1)
(2)
(3)
五、算法设计题(本题10分)
34.设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持有序。

 

Tags:自学考试 历年真题
】【打印繁体】 【关闭】 【返回顶部
上一篇全国2010年10月自考软件工程试题 .. 下一篇全国2009年1月自学考试《数据结构..

网站客服QQ: 960335752 - 14613519 - 48225117