设为首页    加入收藏

自学考试省级导航

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

全国2011年1月高等教育自学考试 数据结构试题(四)
2011-12-25 13:18:55 来源:91考试网 作者:www.91exam.org 【

15.ISAM文件系统中采用多级索引的目的是(      )

A.提高检索效率                                        B.提高存储效率

C.减少数据的冗余                                    D.方便文件的修改

 

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

16.数据结构由数据的逻辑结构、存储结构和数据的____________三部分组成。

17.在单链表中某结点后插入一个新结点,需要修改_______________个结点指针域的值。

18.设栈S的初始状态为空,若元素a、b、c、d、e、f依次进栈,得到的出栈序列是b、d、c、f、e、a,则栈S的容量至少是________________。

19.长度为零的串称为________________。

20.广义表G=(a,b,(c,d,(e,f)),G)的长度为________________。

21.一棵树T采用孩子兄弟链表存储,如果树T中某个结点为叶子结点,则该结点在二叉链表中所对应的结点一定是________________。

22.一个有n个顶点的无向连通图,最少有________________条边。

23.当待排关键字序列基本有序时,快速排序、简单选择排序和直接插入排序三种排序方法中,运行效率最高的是________________。

24.在一棵深度为h的具有n个结点的二叉排序树中,查找任一结点的最多比较次数是______________。

25.不定长文件指的是文件的____________大小不固定。

三、解答题(本大题共4小题,每小题5分,共20分)

26.已知一棵二叉排序树(结点值大小按字母顺序)的前序遍历序列为EBACDFHG,

请回答下列问题:

(1)画出此二叉排序树;

(2)若将此二叉排序树看作森林的二叉链表存储,请画出对应的森林。

27.已知有向图的邻接表如图所示,请回答下面问题:

(1)给出该图的邻接矩阵;

(2)从结点A出发,写出该图的深度优先遍历序列。

 

 

28.已知待排记录的关键字序列为{25,96,11,63,57,78,44},请回答下列问题:

(1)画出堆排序的初始堆(大根堆);

(2)画出第二次重建堆之后的堆。

 

29.已知关键字序列为(56,23,41,79,38,62,18),用散列函数H(key)=key%11将其散列到散列表HT[0..10]中,采用线性探测法处理冲突。请回答下列问题:

(1)画出散列存储后的散列表:

(2)求在等概率情况下查找成功的平均查找长度。

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

30.阅读下列程序。

void  f30(int  A[], int  n)

{

int  i,j,m;

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

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

{

m=A[i*n+j];

A[i*n+j]=A[j*n+i];

A[j*n+i]=m;

}

}

回答下列问题:

(1)已知矩阵B= ,将其按行优先存于一维数组A中,给出执行函数调

用f30(A,3)后矩阵B的值;

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

31.假设以二叉链表表示二叉树,其类型定义如下:

typedef struct node {

char data;

struct node*Ichild, *rchild;         ∥左右孩子指针

}   *BinTree;

阅读下列程序。

void f31(BinTree T)

{

InitStack(S); ∥ 初始化一个堆栈S

while  (T  ||  !StackEmpty(S)

{

while  (T)

{

Push(S,T);    T=T->lchild;

}

if  (!StackEmpty(S))

{

T=Pop(S);  printf(“%c”,T->data);  T=T->rchild;

}

}

}

回答下列问题:

(1)已知以T为根指针的二叉树如图所示,

请写出执行f31(T)的输出结果:

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

32.阅读下列程序。

void  f32(int  A[],int  n)

{

int  i,j,m=l,t;

for  (i=0;  i<n-l&&m;  i++)

{

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

printf(“%d ”,A[j]);

printf(“\n”);

m=0:

for  (j=1;  j<n-i;  j++)

if  (A[j-1]>A[j])

{

t=A[j-l];

A[j-1]=A[j];

A[j]=t;

m=1;

}

}

}

回答问题:

已知整型数组A[ ]={34,26,15,89,42},写出执行函数调用f32(A,5)后的输出结果。

33.已知顺序表的表结构定义如下:

#define MAXLEN 100

typedef int KeyType;

typedef struct {

KeyType key;

InfoType otherinfo;

} NodeType;

typedef NodeType  SqList[MAXLEN];

阅读下列程序。

Int  f33(SqList  R,NodeType  X,  int  p,  int  q)

{  int  m;

if

Tags:
】【打印繁体】 【关闭】 【返回顶部
上一篇全国2010年10月高等教育自学考试 .. 下一篇全国2010年1月高等教育自学考试民..

网站客服QQ: 960335752 - 14613519 - 48225117