湖北文理学院数据结构试题与答案A

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖北文理学院 2011-2012 学年度下学期
《数据结构与算法》试卷A
专业:计算机科学与技术
姓名: 学号: 班级:
一、判断题(本题共10小题,每小题1分,共计10分)。

(正确的打√,错的打×)
1、顺序循环队列Q 空的条件是:Q.front==Q.rear.( )
2、关键路径是始点到终点最小长度的路径。

( )
3、序列(5, 6, 7, 20, 15, 8, 9, 25, 22,13)是一个堆。

( )
4、在插入排序和选择排序中,若原始记录已基本有序,则较适合选用选择排序。

( )
5、顺序表是随机存取,存取操作的时间为O (1)。

( )
6、已知一棵二叉树的先序序列和后序序列,一定能构造出该二叉树。

(
) 7、有向图用邻接矩阵表示后,顶点i 的出度等于邻接矩阵中第i 行的元素个数。

( ) 8、归并排序的时间性能不随记录序列中关键字的分布而改变(与初始状态无关)。

( ) 9、在数据结构中,数据的基本单位是数据项。



10、对任意一个图,从某顶点出发进行一次广度优先或深度优先遍历,可访问图的所有顶点。

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

(请将正确答案填入空格内,答案是确定和唯一的)
1、任意一棵具有n 个结点的二叉树,若它有m 个叶子,则该二叉树上度为1的结点数为_____个。

2、常用算法的描述方法有:自然语言 、 、 和流程图。

3、某二叉树的先根遍历序列为IJKLMNO ,中根遍历序列为JLKINMO ,则该二叉树中根结点的右孩子是 。

4、堆排序的时间复杂性为,空间复杂性为。

5、二维数组A[6,7],按行优先存储,每个元素占2个字节,A基址为600,则元素A[4,5]的存储地址是。

6、对广义表C=(a,(b,c,d))的运算 Tail(Tail(Head((Tail(C))))的结果是。

7、设有一组初始关键字值序列为(49,81,55,36,44,88),则利用快速排序的方法,以第一个关键字值为基准得到的一次划分为_________________________________________。

8、图的存储结构主要有两种,分别是和。

9、设一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的退栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少为________。

10、对于一棵满二叉树,若有m个叶子,则树中结点数为____________。

三、选择题(本题共18小题,每小题 1分,共计 18 分)。

(从下列答案中选出一个正确答案,并将对应的字母填入括号内)
1..循环队列存储在数组元素A[0]至A[m]中,则入队时的操作为( )。

A. rear=rear+1
B. rear=(rear+1)%(m-1)
C. rear=(rear+1)%m
D. rear=(rear+1)%(m+1)
2. 元素的进栈次序为a,b,c,d,e,则出栈中不可能的序列是()。

A. a,b,c,d,e
B. b,c,d,e,a
C. e,a,b,c,d
D. e,d,c,b,a
3.在已知尾指针的单循环链表中,插入一个新结点使之成为首结点,其算法的时间复杂度为()。

A. O(1)
B. O(log2n)
C. O(n)
D. O(n2)
4. 在有n个叶子的哈夫曼树中,分支结点数为()。

A、n
B、n-1
C、n+1
D、2n
5. 有4个顶点的无向完全图的边数为( ) 。

A. 6
B. 12
C. 16
D. 20
6. 若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个 ( )。

A. 上三角矩阵
B. 稀疏矩阵
C. 对角矩阵
D. 对称矩阵
7. 从逻辑上可以把数据结构分为()。

A. 动态结构、静态结构
B. 顺序结构、链式结构
C. 线性结构、非线性结构
D. 初等结构、构造型结构
8. 在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,指针域指向该结点
的()。

A. 直接前趋
B. 直接后继
C. 开始结点
D. 终端结点
9. 若用一个有6个单元的数组来实现循环队列,rear和front的初值分别为0和3。

则从队列中删除一个元素,再添加两个元素后,rear和front的值分别为()。

A. 1和5
B. 2和4
C. 4和2
D. 5和1
10.含有n个结点的二叉树采用二叉链表存储时,空指针域的个数为()。

A. n-1
B. n
C. n+1
D. n+2
11.一个有序表为{13,18,24,35,47,50,62,83,90,115,134},当二分查找(搜索)值为90的结点时,查找成功时的比较次数为()。

A. 1
B. 2
C. 3
D. 4
12.已知一个单链表中,指针q指向指针p的前趋结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行()。

A. q→next=s;p→next=s;
B. q→next=s;s→next=p;
C. q→next=s;q→next=p;
D. q→next=s;s→next=q
13.下述几种排序方法中,要求内存量最大的是( ) 。

A. 插入排序
B. 快速排序
C. 归并排序
D. 选择排序
14.具有n个顶点的无向图,若要连通全部顶点,至少需要()。

A.(n-1)条边
B. n条边
C. n(n-1)条边
D. n(n-1)/2条边
15.数据结构中所定义的数据元素,是用于表示数据的()。

A. 最小单位
B. 最大单位
C. 基本单位
D. 不可分割的单位
16.对线性表进行二分查找(搜索)时,要求线性表必须( ) 。

A. 以顺序方式存储
B. 以顺序方式存储,且结点按关键字有序排列
C. 以链式方式存储
D. 以链接方式存储,且结点按关键字有序排列
17. 用n个值构造一棵二叉排序树(二叉搜索树),它的最大高度为()。

A. n/2
B. n
C.
D. log2n
18. 采用排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法是()。

A. 插入和快速
B. 冒泡和快速
C. 选择和插入
D. 选择和冒泡
四、算法题(本题共3小题,共计22分)。

1. 请补充下面的折半查找(对半搜索)的非递归算法。

(每空2分,共6分)
int BiSearch1(int r[],int n,int k)
{ low=1;high=n;
while( )
{ mid= ;
if (k<r[mid]) high=mid-1;
else if(k>r[mid]) ;
else return mid;
}
}
2. 下面是冒泡排序算法, 补充该算法。

(每空2分,共6分)
void DubbleSort(int r[],int n)
{
H=1; //交换标志置真
for(i=1;H=1 && i<n;i++) //扫描趟数
{ H=0; //交换标志置假
for(j=1;j< ;j++) //一趟扫描
if (r[j]>r[j+1])
{ t=r[j]; ; r[j+1]=t;
; }
}
}
3.(10分)设计算法在一个带头结点的有序单链表L(值为整数)中删除相同元素
五、应用题(本题共4小题,共计30分)。

1、(9分)选取哈希函数H(k)=(2k) MOD 11,试对关键字序列(11,18,24,07,30,13,19,25)用链地址法(拉链法)处理冲突构造开散列表。

并求等概率情况下查找成功时的平均查找长度。

(哈希函数计算(2分)、开散列表(5分)、平均查找长度(2分)
2、(9分)下面是由顶点A ,B ,C ,D ,E 构成的一个无向网图的邻接矩阵表示, 请按要求完成以下题目: ① 画出该无向网图。

(4分)
② 写出从结点A 出发进行广度、深度优先遍历的结点序列。

(2分)
③ 按Prim(普里姆)算法构造该图的最小生成树,图示构造过程(3分)。

3、(8分)某二叉树的结点数据采用顺序存储表示如下(其中∧表示虚结点):
(1) 试画出此二叉树的图形表示。

(4分)
(2) 对该二叉树写出中序和后序遍历结果。

(2分)
(3) 将此二叉树看作森林的二叉树表示,试将它还原为森林。

(2分)
4、(4分)对给定的一组权值W=(6,5,9,10,20,1), 试按权值构造一棵哈夫曼树(左
∞ 5 3 9 ∞ 5 ∞ 7 ∞ 6 3 7 ∞ ∞ 8 9 ∞ ∞ ∞ 2 ∞ 6 8 2 ∞
子树根结点的权小于等于右子树根结点的权)。

数据结构期末考试参考答案及评分标准2011-2012 学年度下学期《数据结构与算法》试卷A
计算机科学与技术专业
一、判断题(本题共10小题,每小题1分,共计10分)
1-10:T F F F T F T T F F
二、填空题(本题共10小题,每小题 2 分,共计 20分)
1、 n-2m+1
2、高级语言,伪代码
3、 NMO
4、 O(nlog2n),O(1)
5、666
6、(d)
7、 44 36 49 55 81 88
8、邻接矩阵,邻接表
9、3 10、2m-1
四、算法题。

(本题共3小题,共计22分)
(6分)1、折半查找的非递归算法填空
①l ow<=high
②(low+high)/2
③low=mid+1
(6分)2、冒泡排序算法填空
①n-i+1
② r[j]=r[j+1]
③H=1
(10分)3、①算法操作接口(1分)
②循环初始条件(1分)
③循环条件及定位(4分)
④删除操作(4分)
五、应用题(本题共4小题,共计30分)
1、(9分)
散列地址8个(2分)
H(11)=(11*2) mod 11=0 H(18)=(18*2) mod 11=3
H(24)=(24*2) mod 11=4 H(07)=(07*2) mod 11=3
H(30)=(30*2) mod 11=5 H(13)=(13*2) mod 11=4
H(19)=(19*2) mod 11=5 H(25)=(25*2) mod 11=6
开散列表(5分)
等概率情况下查找成功时的平均查找长度(11/8)
(2分)
2、(9分)
①画出该带权的有向图。

(4分)
② 从结点A 出发进行广度优先遍历的顶点序列(1分):A B C D E
从结点A 出发进行深度优先遍历的顶点序列(1分):A B C E D
③ 按Prim(普里姆)算法构造该图的最小生成树(3分) 构造过程应分5步。

3、(8分)
⑴ 画出此二叉树的图形表示。

(4分)
⑵中序遍历结果(1分):C B E D F A G H
后序遍历结果(1分):C E F D B H G A
⑶对该二叉树还原为的森林(2分)
4、(4分)按权值构造哈夫曼树(可不唯一)。

相关文档
最新文档