设为首页    加入收藏

自学考试省级导航

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

全国2009年10月高等教育自学考试 数据结构试题(四)
2011-12-25 13:21:04 来源:91考试网 作者:www.91exam.org 【
                                           D.链式存储

15.便于进行布尔查询的文件组织方式是(   )

A.顺序文件                                                    B.索引文件

C.散列文件                                                    D.多关键字文件

二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)

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

16.数据的链式存储结构的特点是借助________表示数据元素之间的逻辑关系。

17.如果需要对线性表频繁进行________或________操作,则不宜采用顺序存储结构。

18.如图所示,可以利用一个向量空间同时实现两个类型相同的栈。其中栈1为空的条件是top1=0,栈2为空的条件是top2=n-1,则“栈满”的判定条件是________。

 

19.静态存储分配的顺序串在进行插入、置换和________等操作时可能发生越界。

20.广义表L=(a,(b,( )))的深度为________。

21.任意一棵完全二叉树中,度为1的结点数最多为________。

22.求最小生成树的克鲁斯卡尔(Kruskal)算法耗用的时间与图中________的数目正相关。

23.在5阶B-树中,每个结点至多含4个关键字,除根结点之外,其他结点至少含________个关键字。

24.若序列中关键字相同的记录在排序前后的相对次序不变,则称该排序算法是________的。

25.常用的索引顺序文件是________文件和________文件。

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

26.如图所示,在n×n矩阵A中,所有下标值满足关系式i+j<n+l的元素aij的值均为0,现将A中其它元素按行优先顺序依次存储到长度为n(n+1)/2的一维数组sa中,其中元素a1,n存储在sa[0]。

(1)设n=10,元素a4,9存储在sa[p],写出下标p的值;

(2)设元素ai,j存储在sa[k]中,写出由i,j和n计算k的一般公式。

27.由字符集{s,t,a,e,I}及其在电文中出现的频度构建的哈夫曼树如图所示。已知某段电文的哈夫曼编码为111000010100,请根据该哈夫曼树进行译码,写出原来的电文。

28.已知无向图G的邻接表如图所示,

(1)画出该无向图;

(2)画出该图的广度优先生成森林。

 

 

29.对序列(48,37,63,96,22,31,50,55,11)进行升序的堆排序,写出构建的初始(大根)堆及前两趟重建堆之后的序列状态。

初始堆:

第1趟:

第2趟:

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

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

(1)无向图G如图所示,写出算法

f30(&G)的返回值;

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

#define  MaxNum  20

int  visited[MaxNum];

void  DFS(Graph  *g,int  i);

/*从顶点vi出发进行深度优先搜索,访问顶点vj时置visited[j]为1*/

int  f30(Graph  *g)

{  int  i,k;

for  (i=0;  i<g->n;  i++)/*g->n为图g的顶点数目*/

visited[i]=0;

for  (i=k=0;  i<g->n;  i++)

if  (visited[i]= =0)

{  k++;

DFS(g,i);

}

return k;

}

 

 

31.假设学生成绩按学号增序存储在带头结点的单链表中,类型定义如下:

typedef  struct  Node  {

int  id;            /*学号*/

int  score;       /*成绩*/

struct  Node   *next;

}  LNode,  *LinkList;

阅读算法f31,并回答问题:

(1)设结点结构为 ,成绩链表A和B如图所示,画出执行算法

f31(A,B)后A所指的链表;

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

void  f31(LinkList A,  LinkList B)

{  LinkList  p, q;

p=A->next;

q=B->next;

while  (p && q)

{  if  (p->id<q->id)

p=p->next;

else  if (p->i

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

网站客服QQ: 960335752 - 14613519 - 48225117