最新国家开放大学电大本科《数据结构》期末题库及答案.docx

上传人:b****2 文档编号:1255427 上传时间:2022-10-19 格式:DOCX 页数:43 大小:458.63KB
下载 相关 举报
最新国家开放大学电大本科《数据结构》期末题库及答案.docx_第1页
第1页 / 共43页
最新国家开放大学电大本科《数据结构》期末题库及答案.docx_第2页
第2页 / 共43页
最新国家开放大学电大本科《数据结构》期末题库及答案.docx_第3页
第3页 / 共43页
最新国家开放大学电大本科《数据结构》期末题库及答案.docx_第4页
第4页 / 共43页
最新国家开放大学电大本科《数据结构》期末题库及答案.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

最新国家开放大学电大本科《数据结构》期末题库及答案.docx

《最新国家开放大学电大本科《数据结构》期末题库及答案.docx》由会员分享,可在线阅读,更多相关《最新国家开放大学电大本科《数据结构》期末题库及答案.docx(43页珍藏版)》请在冰豆网上搜索。

最新国家开放大学电大本科《数据结构》期末题库及答案.docx

最新国家开放大学电大本科《数据结构》期末题库及答案

最新国家开放大学电大本科《数据结构》期末题库及答案

考试说明:

本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《数据结构》题库及答案一

一、单项选择题。

在括号内填写所选择的标号(每小题2分。

共l8分)

1.下面程序段的时间复杂度为()。

for(inti=0;i

for(intj=0;j

A.O(m2)B.O(n2)

C.O(m*n)D.0(m+n)

2.在二维数组中,每个数组元素同时处于()个向量中。

A.0B.1

C.2D.n

3.设有两个串t和P,求P在t中首次出现的位置的运算叫做()。

A.求子串B.模式匹配

C.串替换D.串连接

4.利用双向链表作线性表的存储结构的优点是()。

A.便于单向进行插入和删除的操作

B.便于双向进行插入和删除的操作

C.节省空间

D.便于销毁结构释放空问

5.设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。

若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行()操作。

A.top一>link=S;

B.s一>link=top一>link;top一>link=S;

C.S-->link=top;top—S;

D.s一>link=top;top—top一>link;

6.一棵具有35个结点的完全二叉树的高度为()。

假定空树的高度为一l。

A.5B.6

C.7D.8

7.向具有n个结点的堆中插入一个新元素的时间复杂度为()。

A.O

(1)B.0(n)

C.O(log2n)D.O(nlog2n)

8.在一棵AVL树中,每个结点的平衡因子的取值范围是()。

A.一l~1B.一2~2

C.1~2D.O~1

9.一个有n个顶点和n条边的无向图一定是()的。

A.连通B.不连通

C.无回路D.有回路

二、填空题,在横线处填写合适的内容(每小题2分,共l4分)

1.数据结构包括()、存储结构和对数据的运算这三个方面。

2.一维数组所占用的空间是连续的。

但数组元素不一定顺序存取,通常是按元素的()存取的。

3.将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则该一

维数组需要至少具有()个元素。

4.对于一棵具有n个结点的树,该树中所有结点的度数之和为()。

5.在一棵高度为3的理想平衡二叉树中,最少含有()个结点,假定树根结点的高度为0。

6.假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底层的结点数为()个。

7.用邻接矩阵存储图,占用的存储空间与图中的()数有关。

三、判断题。

在每小题前面打对号表示正确或打叉号表示错误(每小题2分。

共14分)

()1.算法和程序都应具有下面一些特征:

有输入,有输出,确定性,有穷性,有效性。

()2.用字符数组存储长度为n的字符串,数组长度至少为n+1。

()3.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

()4.邻接矩阵适用于稀疏图的表示,邻接表适用于稠密图的表示。

()5.对一个无向连通图进行一次深度优先搜索遍历时可以访问到图中的所有顶点。

()6.在索引顺序结构的搜索中,对索引表只可以采取顺序搜索,不可以采用折半搜索。

()7.图中各个顶点的编号是人为的,不是它本身固有的,因此可以根据需要进行改变。

四、运算题(每小题6分,共30分)

1.假定一棵二叉树广义表表示为a(b(c),d(e,f)),分别写出对它进行中序、后序、按层遍历的结果。

中序:

后序:

按层:

2.一个一维数组all2]中存储着有序表(15,26,34,39,45,56,58,63,74,76,80,86),根据折半搜索所对应的判定树,写出该判定树中度为1的结点个数,并求出在等概率情况下进行成功搜索时的平均搜索长度。

度为l的结点个数:

平均搜索长度:

3.假定一个线性序列为(38,42,55,15,23,44,30,74,48,26),根据此线性序列中元素的排列次序生成一棵二叉搜索树,求出该二叉搜索树中左子树为空的所有单支结点、右子树为空的所有单支结点和所有叶子结点,请按照结点值从小到大的次序写出。

左子树为空的所有单支结点:

右子树为空的所有单支结点:

所有叶子结点:

4.已知一个图的顶点集V和边集G分别为:

V={1,2,3,4,5,6};

E={<1,2>,<1,3>,<2,4>,<2,5>,<3,4>,<4,5>,<4,6>,<5,1>,

<5,3>,<6,5>};

假定该图采用邻接表表示,每个顶点邻接表中的边结点都是按照终点序号从小到大的次

序链接的,试写出:

(1)从顶点l出发进行深度优先搜索所得到的顶点序列;

(2)9,N点1出发进行广度优先搜索所得到的顶点序列。

(1):

(2):

5.已知一个数据序列为{16,45,27,23,41,15,56,64},请把它调整为一个最大堆。

最大堆:

五、算法分析题(每小题6分。

共12分)

1·下面算法的功能为:

将两个有序单链表合并成一个有序单链表并返回其表头指针。

读算法,在划有横线的上面填写合适的内容。

ListNode*Mergel(ListNode*.&pl,ListNode*&p2)

{

ListNode*p=newListNode,*f=p;

while(p1!

=NULL&&p2!

=NULL)

{

if(pl-->data<=p2-->data){

p-->link=pl;;

}

else{p->link=p2;p2=p2一>link;}

}

if(pl!

=NULL)p-->link=pl;elsep~>1ink=p2;

pl==p2==NULL;

returnf一>link:

2.已知二叉树中的结点类型BinTreeNode定义为:

structBinTreeNode{ElemTypedata;BinTreeNode*left,*right;};

其中data为结点值域,left和right分别为指向左、右子女结点的指针域。

根据下面算法的定义指出其功能。

算法中参数BT指向一棵二叉树。

BinTreeNode*BTreeSwopX(BinTreeNode*BT)

{

if(BT==NULL)returnNULL;

else{

BinTreeNode*pt=newBinTreeNode;

pt一>data—BT一>data;

pt一>right—BTreeSwopX(BT一>left);

pt一>left=BTreeSwopX(BT-->right);

returnpt;

}

}

算法功能:

六、算法设计题(每小题6分,共12分)

1.已知f为单链表的表头指针,单链表中的结点结构为(data,link),并假定每个结点的值均为大于0的整数。

根据下面函数声明写出递归算法,返回单链表中所有结点的最大值,若单链表为空则返回数值0。

intMax(LinkNode*f);

2.设Q是一个由其队尾指针和队列长度标识的循环队列,按照下面队列定义和函数声明

写出从此队列中删除一个元素的算法。

//循环队列定义

structCyclicQueue

{

ElemTypeelemEM];//M为已定义过的整型常量

intrear;//rear指向队尾元素的后一个位置

intlength:

//length指示队列中元素个数

}5

//若队列非空则删除队头元素并由引用参数x带回,同时返回true;否则若队列为空则返回false。

boolDelCQueue(CyclicQueueQ,ElemType&x);

试题答案及评分标准

一、单项选择题,翟括号内填写所选择的标号(每小题2分,共18分)

1.C2.C3.B4.B5.C6.A7.C8.A9.b

二、填空题。

在横线处填写合适内容(每小题2分,共14分)

1.逻辑结构2.下标(或顺序号)3.n(n+1)/24.n一15.86.197.顶点

三、判断题,在每小题前面打对号表示正确或打叉号表示错误(毒小题2分。

共14分)

1.错2.对3.对4.错

5.对6.错7.对7.对

四、运算题(每小题6分,共30分)

1.中序:

C,b,a,e,d,f

后序:

C,b,e,f,d,a

按层:

a,b,d,C,e,f

2.度为1的结点个数:

5

平均搜索长度:

37/12

3.左子树为空的所有单支结点:

l5,23,42,44

右子树为空的所有单支结点:

30

所有叶子结点:

26,48,74

4.(I)1,2,4,5,3,6//3分

(2)1,2,3,4,5,6//3分

5.最大堆:

{64,45,56,23,41,15,27,16}

五、算法分析题(每小题6分。

共12分)

1.pl2p1一>link、p=p一>link//每空3分

2.生成一棵新二叉树并返回树根指针,该二叉树是已知二叉树BT中所有结点的左、右

子树(或左、右孩子的值)交换的结果。

六、算法设计题(每小题6分。

共12分)

1.评分标准:

按注释酌情给分。

intMax(LinkNode*f)

{

if(f==NULL)return0:

if(f一>link==NULL)returnf一>data;

inttemp=Max(f-->link);

if(f一>data>temp)returnf一>data;

elsereturntemp;

}

2.评分标准:

按注释酌情给分:

boolDelCQueue(CyelieQueueQ,ElemType&x)

{

if(Q.1ength==O)returnfalse;

x—Q.elem[(Q.rear—Q.1ength-t-M)%M];

Q.1ength一一;

returntrue;

}

《数据结构》题库及答案二

一、单项选择题(每小题2分。

共30分)

1.链表所具备的特点是()。

A.可以随机访问任一结点

B.占用连续的存储空间

C.插入删除元素的操作不需要移动元素结点

D.可以通过下标对链表进行直接访问

2.线性结构中数据元素的位置之间存在()的关系。

A.一对一

B.一对多

C.多对多

D。

每一个元素都有一个直接前驱和一个直接后继

3.算法的时间复杂度与()有关。

7

A.所使用的计算机B.与计算机的操作系统

C.与算法本身D.与数据结构

4.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是P所指结点的直接后继,现要删除q所指结点,可用的语句是()。

A.p=q->nextB.p->next=q

C.p->next=q->nextD.q->next=NULL

5.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。

A.r=f->next:

B.r=r->next:

C.f=f一>next;

D.f=r一>next:

6.元素3,6,9按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。

A.9,6,3

B.9,3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1