新祥旭考研官网欢迎您!


2016青岛科技大学考研真题数据结构

新祥旭徐老师 / 2019-05-10

 青 岛 科 技 大 学

二○一六年硕士研究生入学考试试题

考试科目:数据结构

 

注意事项:1.本试卷共三道大题(共计 23个小题),满分 150 分;

2.本卷属试题卷,答题另有答题卷,答案一律写在答题卷上,写在该试题卷上或草纸上均无效。要注意试卷清洁,不要在试卷上涂划;

3.必须用蓝、黑钢笔或签字笔答题,其它均无效。            

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

 

一、选择题(每个2分,共30分)

1、在长度为n的顺序表的第i(1≤i≤n+1)个位置上删除一个元素,移动元素的个数为(   ) 。

  A. i-1           B .n-i+1        C.  i              D.  n-i

2、以下哪一个术语与数据的逻辑结构无关?(    )

A.哈希表          B. 栈     C. 二叉树     D.  线性表

3、下面程序段的时间复杂度为____________。   

for(int i=0; i<m; i++)      

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

a[i][j]=i*j;

  A. O(m2)       B. O(m*n)       C. O(n2)         D. O(m+n)

4、三维数组A[4][5][6]按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存储地址为120,则元素A[3][4][5]的存储地址为(   )。

  A.  356        B. 362    C.  360        D.  358       

5、下列陈述中不正确的是(   ) 。

  A. 二叉树是度为2的有序树

  B.二叉树中结点只有一个孩子时也有左右之分

  C.二叉树中可以没有度为2的结点

  D. 二叉树中最多只有两棵子树,并且有左右之分

6、n个顶点的连通图,若从一个顶点出发进行遍历,则( )。

  A. 可以访问图中一个顶点 B.  可以访问图中所有的顶点   

  C.  可以问n/2 个顶点    D.   可以访问n(n-1) 个顶点

7、在一棵具有k层(k>=1)的满三叉树中,结点总数为(  )。

  A. 3k     B.  3k-1      C .  (3k-1)/3     D.  (3k-1)/2

8、AVL树是一种平衡的二叉排序树,树中任一结点的(   ) 。

  A. 左、右子树高度差的绝对值不超过1   B. 左、右子树的高度均相同

  C. 左子树的高度均大于右子树的高度   D. 左子树的高度均小于右子树的高度

9、若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是(     )。

  A. i-j-1          B. 不确定的           C. j-i+1      D. i-j

10、适用于折半查找的表的存储方式及元素排列要求为(    ) 。

 A.链接方式存储,元素无序     B.链接方式存储,元素有序

C.顺序方式存储,元素无序     D.顺序方式存储,元素有序

11、设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是(    )。

A.9         B.3         C.5       D. 8

12、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( )。

A.p=p->next                 B.p->next=p->next->next

C.p=p->next->next            D.p->next=p

13、对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是(    )排序。

A. 选择           B. 快速           C. 冒泡            D. 希尔

14、关键路径是事件结点网络中的( )。

A.从源点到汇点的最长路径     B.从源点到汇点的最短路径

C.最长的回路                 D.最短的回路

15、在含有n个结点的二叉树中有( )个分支。

A. n        B. n-1         C. n+1         D.(n+1)/2

 

 

二、应用题(60分)

1.(12分)回答下列问题:

① 什么是数据结构?

② 对于数据结构一般包含哪三个方面的讨论?

③ 在编制管理通讯录的程序时,通讯录数据采用什么样的数据结构合适?

④ 对于第③问,存储结构采用什么样的结构合适?为什么?

2.(12分)数组A中,每个元素A[i,j]的长度均为32个二进位,行下标从-1到9,列下标从1到11,从首地址S开始连续存放主存储器中,主存储器字长为16位。求:

   ① 存放该数组所需多少单元?

   ② 存放数组第4列所有元素至少需多少单元?

   ③ 数组按行存放时,元素A[7,4]的起始地址是多少?

   ④ 数组按列存放时,元素A[4,7]的起始地址是多少?                   

3.(12分)设一棵二叉树的先序序列: A B D F C E G H ,中序序列: B F D A G E H C

   ①画出这棵二叉树。

   ②画出这棵二叉树的后序线索树。

   ③将这棵二叉树转换成对应的树(或森林)。

4.(12分)请阅读下列算法,回答问题。

    for ( i=2; i<=L.length; ++i )

       if (L.r[i].key < L.r[i-1].key) {

       L.r[0] = L.r[i];            // 复制为监视哨

      for ( j=i-1; L.r[0].key < L.r[j].key;  -- j )

        L.r[j+1] = L.r[j];        // 记录后移

         L.r[j+1] = L.r[0];   

       }

   ① 这是什么类型的排序算法?;

   ② 该排序算法稳定吗?

   ③ 该排序算法的时间复杂度与关键字的初始排列顺序有没有关系?

   ④ 假定设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},请写出使用该排序方法,每趟排序结束后关键字序列的状态。

5.(12分)假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:

   ① 画出描述折半查找过程的判定树;

   ② 若查找元素54,需依次与哪些元素比较?

   ③ 若查找元素90,需依次与哪些元素比较?

   ④ 假定每个元素的查找概率相等,求查找成功时的平均查找长度。

 

三、算法设计题(60分)

1.(20分)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。

(1)描述算法的基本设计思想;

(2)用类C的语言描述该算法,关键之处给出简要注释。

2.(20分)以二叉链表作为二叉树的存储结构,编写以下算法:

(1)判别两棵树是否相等;

(2)交换二叉树每个结点的左孩子和右孩子。

3.(20分)

(1)试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)。

(2)采用邻接表存储结构,编写一个算法,判别无向图中任意给定的两个顶点之间是否存在一条长度为为k的简单路径。

 

 

 

添加微信咨询保研问题
北清考研定制 985考研定制 211考研定制 学硕考研定制 专硕考研定制 北京考研私塾
x
点击咨询 课程咨询 学员服务 应聘教师 投诉建议 预约报名