山东大学软件学院数据结构(考试)——期末考试回忆版

考试时间:2020年1月9日 8:30~10:30,山东大学软件学院大二上数据结构考试

试卷结构和题目:
一. 简答题(20分)

  1. 给一个序列插入堆栈中,又给出两个序列,问能否通过堆栈操作,得到这后给出的两个序列
  2. 给一个二叉树前序序列和中序序列,写出后序序列
  3. 写出将四维数组以列主映射方式映射到一维数组的映射公式
  4. 含有n个非叶节点的m阶B-树,计算出该树非叶节点所含有的最少的关键字总数
  5. 给一个AOV图,写出拓扑排序算法的思想,并写出图中所有的拓扑序列

二. 应用题(50分)

  1. 散列表Hash(k) = k%11,散列表(线性探查)长度为13,给一组序列:(1)构建出该散列表;(2)散列表中某2个元素的比较次数;(3)画出删除指定元素后的散列表
  2. 题中给出反对角矩阵的具体定义,要求画出一个4x4的反对角矩阵的样例,并写出将其映射到一维数组的映射公式
  3. 给一个序列,构建出AVL搜索树,并求出平均查找长度(每个节点出现的概率相等)
  4. 给一个序列,通过堆排序删除2个最小元素,画出删除2个最小元素后的堆
  5. 给一个无向加权图,使用Prim算法,从题中指定的顶点开始构建最小成本生成树

三. 算法题(30分)

  1. 将一个数组中的奇数元素都移到偶数元素之前,要求有最优时间复杂度,写出算法思想,并用C++实现,再求出时间复杂度
  2. 二叉树的节点:lchild左指针域,data数据,rchild右指针域,构建一个单链表,将二叉树的叶子节点从左至右连接起来,head为此单链表头节点,用叶节点的右指针域存放链表节点,写出算法思想,并用代码实现,并分析算法复杂度

最后预祝各位同学,期末取得好成绩。

  • 24
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值