欢迎您访问上海自考网!  今天是
当前位置: 主页 > 历年真题 >

全国2013年10月自考试卷02331数据结构试题

2014-11-10 15:48来源:山东自考网

全国2013年10月高等教育自学考试
数据结构试题
课程代码:02331
 
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.算法的时间复杂度表征的是
A.算法的可读性                                          B.算法的难易程度
C.执行算法所耗费的时间                             D.执行算法所耗费的存储空间
2.对需要频繁插入和删除结点的线性表,适合的存储方式是
A.顺序储存                                                 B.链式存储
C.索引存储                                                  D.散列存储
3.在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是
A.p->next->next==head                                 B.p->next==head
C.p->next->next==NULL                               D.p->next==NULL
 4.迪杰斯特拉(Dijkstra)算法的功能是
A.求图中某顶点到其他顶点的最短路径        B.求图中所有顶点之间的最短路径
C.求图的最小生成树                                    D.求图的拓扑排序序列
5.若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能获得的出栈序列是
A.4,5,3,2,1                                         B.4,3,5,1,2
C.1,2,3,4,5                                         D.5,4,3,2,1
6.A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为
A.1015                                                        B.1016
C.1028                                                         D.1030
7.深度为4的完全二叉树的结点数至少为
A.4                                                              B.8
C.13                                                            D.15
8.若采用邻接矩阵A存储有向图G,则结点k的入度等于A中
A.结点k对应行元素之和                             B.结点k对应列元素之和
C.结点k对应行和列元素之和                      D.非零元素之和
9.无向图G的邻接矩阵一定是
A.对称矩阵                                                 B.对角矩阵
C.三角矩阵                                                  D.单位矩阵
10.下列关于有向带权图G的叙述中,错误的是
A.图G的任何一棵生成树都不含有回路
B.图G生成树所含的边数等于顶点数减1
C.图G含有回路时无法得到拓扑序列
D.图G的最小生成树总是唯一的
11.在下列排序算法中,关键字比较次数与初始排列次序无关的是
A.冒泡排序                                                 B.希尔排序
C.直接插入排序                                           D.直接选择排序
1 2.对下图进行拓扑排序,可以得到的拓扑序列是

A.a b c d e                                                   B.b a c d e
C.b c a d e                                                    D.a b d c e
13.下列线性表中,能使用二分查找的是
A.顺序存储(2,12,5,6,9,3,89,34,25)                 B.链式存储(2,12,5,6,9,3,89,34,25)
C.顺序存储(2,3,5,6,9,12,25,34,89)                 D.链式存储(2,3,5,6,9,12,25,34,89)
14.在下列查找方法中,平均查找长度与结点数量无直接关系的是
A.顺序查找                                                 B.分块查找
C.散列查找                                                  D.基于B树的查找
15.下列排序算法中,时间复杂度为O(nlog2 n)的算法是
A.快速排序                                                 B.冒泡排序
C.直接选择排序                                           D.直接插入排序
 
二、填空题(本大题共10小题,每小题2分,共20分)
1 6.数据的同一种逻辑结构,可以对应多种不同的__________。
17.若在长度为n的顺序表第i个元素之前插入一个元素,则需要向后移动的元素个数是__________。
18.顺序栈存放在S[m]中,S[0]为栈底,栈顶指针top初始值为-1,则栈满的条件是top= __________。
19.队列只能在队尾进行插入操作,在队首进行__________操作。
20.广义表A=(x,((y,z),a,b)),则函数head(head(tail(A)))的值是__________。
21.以权值分别为4,3,2,1的四个叶子结点构成的哈夫曼树,其带权路径长度WPL是_______。
22.图的遍历方法有两种,一种是深度优先遍历,另一种是__________。
23.如果排序算法是稳定的,则关键字相同的两个记录排序前后相对次序__________。
24.己知散列表表长m=11,散列函数h(key)=key%11,表中存有三个关键字15,27,39,其余地址为空,若采用线性探查法处理冲突,则关键字为60的结点保存的地址是_________。
25.己知图G的邻接表如题25图所示。

从顶点v1出发进行深度优先搜索,得到的深度优先搜索序列是__________.
三、解答题(本大题共4小题,每小题5分,共20分)
26.设Q[M]是有M个元素存储空间的循环队列,若front指向队首元素,rear指向队尾
元素的下一位置,请分别用C语言描述下列操作:
(1)将元素x入队;
(2)将队首元素出队,并保存到变量y中;
(3)计算当前队列中元素个数。
27.己知带权图G=(VE),其中V=(A,B,C,D,E),邻接矩阵如下

(1)画出对应的图G
(2)画出图G的最小生成树
28.已知一组待排记录的关键字序列为(15,11,17,59,14,35,13,17,24,84),请给出对应的小根堆序列。
29.已知二叉树如题29图,请画出该二叉树的前序线索。

四、算法阅读题(本大题共4小题,每小题5分,共20分)
30.阅读下列函数并回答问题
typedef struct node{
DataType data;
struct node  *next;
}LinkNode;
Typedef  LinkNode*Linklist;
 
void DeleX(Linklist head,DataType x)
{
LinkNode*p,*q,*s;
p=head;q=p-->next;
while(q!=NULL)
       if(q->data==x){
            s=q;q=q->next;
free(s);p->next=q;
}
    else{
            p=q;q=q->next;
    }
}
(1)执行该函数后,单链表head中data值为x的结点数是多少?
(2)该函数的功能是什么?
31.阅读下列函数并回答问题
 typedef struct node{
   DataType data;
   struct  node   *lchild,  *rchild;
 }BinTNode;
 
typedef B inTNode   *BinTree;
void Inorder(BinTree bt)
{
  if(bt!=NULL){
      Inorder(bt->lchild);
      printf(〃%c〃,bt->data);
      Inorder(bt->rchild);
   }
}
(1)给出对如题3 1图所示的二叉树执行函数Inorder后得到的输出序列。

(2)该函数的功能是什么?
32.下列函数实现直接插入排序,请填写适当内容,使其功能完整。
void f32(int r[],int N)
 {
   int i,j;
   for(i=2;   (1)      (2)    )
   {  r[0]-r[i];
      j=i-1;
      while(    (3)    )
   {   r[j+1]_=r[j];
j=j-1;
 }
   r[j+l]= r[0];
 }
}
 
33.函数BinSearch实现二分查找,请回答下列问题。
 (1)在空白处填写适当内容,使函数功能完整。
 (2)查找成功时函数的返回值是什么?
 (3)查找失败时函数的返回值是什么?
 
 int BinSearch(SeqList R,KeyType k,int n)
 {  int low=0,mid,high=n-1;
    while(10w<=high){
       mid=   (1)   
       if(R[mid].key==k)
            return mid;
       if(R[mid].key>k)
            high=mid-1;
       else
            low=mid+l;
   }
 return-1;
 }
五、算法设计题(本题10分)
34.已知:
 typedef struct node{
     int data;
     struct   node   *next;
 } LinkNode;
 typedef  LinkNode   *LinkList;
 
  请编写原型为int Listisequal(LinkList A,LinkList B)的函数,指针A、B分别指向两个带头结点的单链表。函数功能是:若单链表A、B中全部对应结点的data值相等,则返回1,否则返回0。
   自考试题下载地址:
全国2013年10月自考试卷02331数据结构试题

上一篇:全国2013年10月自考试卷02142数据结构导论试题

下一篇:全国2013年10月自考试卷02120数据库及其应用试题