山东大学软件学院2022-2023数据结构期末考试回忆版

考试时间:2023.2.15 14:30-16:30

一、线性结构

1.给定一个序列,写出冒泡排序,归并排序,选择排序第二趟的结果

2.给了下面两段程序,分别分析时间复杂度

3.有一个数组为a[10][20],数组首地址是200,整数占4个字节,求a[4][5]的地址。当地址为400时,求对应的a[][]

4.比较数组和链表的优缺点

二、树状结构

1.给定一个二叉树先序序列和中序序列,要求写出后序序列

2.给定8个字母出现的频率,建立哈夫曼树,并求每个字母的哈夫曼编码,要求频率小的在右边。

3.给定一个序列,问该完全二叉树是否是个最大堆。如果不是,请初始化成最大堆。

4.写出二叉搜索树find(const&theKey)的伪代码

三、网状结构

1.第一问写出prim算法核心思想,第二问用prim算法求出题目中给出的无向图的最小生成树(写出求解过程)

2.第一问,写出题目中给定的有向图的所有拓扑序列。

第二问

(i)使用动态规划思想的floyd算法求出该有向图每个顶点对之间的最短路径长度

(ii)写出A点到每个点的最短路径

3.写出图的BFS伪代码

四、算法题

1.上台阶可以一次上一级,也可以一次上两级,用动态规划的思想求出上11级台阶有多少种走法。写出算法思想,c++实现,时间复杂度

2.中值快速排序,先从a[leftEnd],a[(leftEnd+rightEnd)/2],a[rightEnd]中挑一个大小适中的元素,以他为支点进行中值快速排序。以此类推,最终序列会变成有序。写出算法思想,c++实现,以及第一趟中值快速排序的结果。

给定序列:x x x x x x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值