824数据结构与算法设计A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安科技大学
2013年硕士研究生入学考试试题A
───────────────────────────────── 科目编号:824 科目名称: 数据结构与算法设计
考生须知:
1、 答案必须写在答题纸上,写在试题或草稿纸上不给分。
2、 答题须用蓝、黑色钢笔或圆珠笔,用铅笔、红色笔者不给分。
3、 答题必须写清题号,字迹要清楚,卷面要保持整洁。
4、 试题要随答题纸一起交回。
一、单项选择题(每小题2分,共30分)
(1)并归排序的时间复杂度是( )。
A .O(n 2)
B .O(nlog 2n)
C .O(n)
D .O(log 2n)
(2)设一个链表最常用的操作是在末尾插入结点和删除尾结点,选用( )存储结构最节省时间。
A .单链表
B .单循环链表
C .带尾指针的单循环链表
D .带头结点的双循环链表
(3)散列文件是一种( )。
A .顺序文件
B .索引文件
C .链接文件
D .计算机寻址文件
(4)常用于函数调用的数据结构是( )。
A .栈
B .队列
C .数组
D .链表
(5)两个矩阵sn ms B A ,相乘的时间复杂度是( )。
A .O(n 2)
B .O(s 2)
C .O(msn)
D .O(mn)
(6)图的广度优先搜索遍历使用的数据结构是( )。
A .栈
B .队列
C .集合
D .树
(7)在单链表中,每个存贮结点有两个域,即数据域和指针域,指针域指向该结点的( )。
A .直接前驱
B .直接后继
C .开始结点
D .终端结点
(8)在已知头指针的单链表中,要在其尾部插入一个新结点,其时间复杂度是( )。
A .O(n 2)
B .O(1)
C .O(n)
D .O(log 2n)
(9)在链队列中执行入队操作,( )。
A .需判断队是否为空
B .限定在链表头p 进行
C .需判断队是否为满
D .限定在链表尾p 进行
(10)对序列(95,83,62,70)进行冒泡排序(由小到大),第2趟排序后的结果为( )。
A .(70,83,62,95)
B .(70,62,83,95)
C.(62,70,83,95)D.(83,62,70,95)
(11)下列选项中与数据的存储结构无关的术语是()。
A.栈B.链队列C.顺序表D.链表
(12)已知循环队列的存贮空间大小为m,对头指针front指向对头元素,对尾指针rear 指向对尾元素的下一个位置,则向对列中插入新元素时,修改指针的操作是()。
A.rear=(rear-1)%m B.rear=(rear+1)%m
C.front=(front-1)%m D.front=(front+1)%m
(13)对于广义表A,若head(A) =tail(A),则A为()。
A.(( )) B.( ) C.(( ),( )) D.(( ),( ),( ))
(14)若一棵具有n个结点的二叉树的先序遍历和后序遍历的次序正好相反,则该二叉树应是()。
A.结点均无左孩子的二叉树B.高度为n的二叉树
C.结点均无右孩子的二叉树D.存在度为2的结点的二叉树
(15)平均时间复杂度为O(nlog2n)的稳定排序算法是()。
A.快速排序B.堆排序C.归并排序D.冒泡排序
二、填空题(每小题2分,共20分)
(1)数据结构由数据的逻辑结构、存贮结构和数据的三部分组成。
(2)广义表A=(a, b, (c, d, (e, f )), G)的长度为。
(3)以数据集{25,4,15,5,1}为权值构造一棵哈夫曼树,其带权路径长度为。(4)在高度为h的具有n个结点的二叉排序树中,查找任一结点的最多比较次数是。
(5)若某哈夫曼树有m个叶子结点,则该哈夫曼树共有个结点。
(6)向一个栈顶指针为top的链栈中插入一个新结点*p时,应执行p->next=top和操作。
(7)在队列中,允许插入的一端称为。
(8)在一棵二叉树中,度为1的结点数是3,度为2的结点数是4,则该二叉树有个叶子结点。
(9)具有n个顶点的连通无向图,其生成树有条边。
(10)当关键字序列基本有序时,快速排序、简单选择排序和直接插入排序三种排序算法中,运行效率最高的是。
三、简答题(任选5道题,每小题8分,共40分)
(1)什么是线性表?通常有哪些存贮方式?其各自的优缺点是什么?
(2)什么是顺序队列的“假溢出”现象?有哪些处理方式?如何判断队满和队空?(3)什么是二叉树的顺序存储方式?其优缺点有哪些?
(4)图的存储结构有哪些?其各自的优缺点是什么?
(5)静态查找有哪三种方法?各自的查找效率如何?
(6)什么样的图其最小生成树是唯一的?用Prim和Kruskal算法求最小生成树的时间复杂度各为多少?他们分别适合于哪种类型的图?
四、应用题(每小题10分,共40分)
(1)已知待排序记录的关键字序列为{25,96,11,63,57,78,44},请回答下列问题:(a)画出堆排序的初始堆(大根堆);
(b)画出第2次重建堆之后的堆。
(2)已知关键字序列为{56,23,41,79,38,62,18},用散列函数H(key)=key%11将其散列到散列表HT[0…10]中,采用线性探测法处理冲突,请回答下列问题:
(a)画出散列存储后的散列表;
(b)求在等概率下查找成功的平均查找长度。
(3)已知某二叉排序树(结点值大小按字母顺序)的前序遍历序列为EBACDFHG,请回答下列问题:
(a)画出此二叉排序树;
(b)若将此二叉排序树看作森林的二叉链表存储,画出对应的森林。
(4)下图所示是一带权有向图的邻接表法存储表示。其中出边表中的每个结点均含有三个字段,依次为边的另一个顶点在顶点表中的序号、边上的权值和指向下一个边结点的指针。请回答下列问题:
(a)画出该带权有向图的图形;
(b)从顶点V1为起点的广度优先遍历的顶点序列及对应的生成树;
(c)以顶点V1为起点的深度优先遍历的顶点序列及对应的生成树;
(d)由顶点V1到顶点V3的最短路径。
(顶点边)(出边表)
2
3
4
5
6