2022年858程序设计与数据结构真题解析

作者:江上_酒
2023扬大信工考研交流群:714584589

相关内容根据昨天考生考完后的回忆所得,由于具体题目描述不清,可能会与真题有所出入,故此处只做简要的分析。

一、简答题(本大题共6小题,每题10分,共计60分。)

  1. 考察数据结构的逻辑结构和物理结构含义和关系,这个属于绪论部分的基本概念。(简单)
  2. 给定一个广义表取出指定元素,这个真题考过几次,主要是对tail()和head()函数的灵活使用。(简单)
  3. 写出满足条件的树(前序中序一致、中序后序一致、前序后序一致),这是考过的原题。(简单)
  4. 根据所给的图画出邻接矩阵、邻接表并求出最小生成树,此题属于图的基本应用题,除了顶点较多写起来麻烦。(中等)
  5. 写出(0.02、0.03、0.03、0.07、0.10、0.21、0.32、0.19)的哈夫曼编码和二进制编码,并分析其中优劣。这题是在《资料书》93页第8题的基础上加上了二进制编码的问题,并分析其中的优劣。(中等)
  • 哈夫曼树效率高,但是不稳定,二进制编码稳定但是效率相较而言低。
  1. 证明N个结点的满二叉树叶子结点个数为(N+1)/2。(简单)
  • 已知树为满二叉树故不存在度为1的结点即 N 1 = 0 N_1=0 N1=0,又 N 0 = N 2 + 1 N_0=N_2+1 N0=N2+1 0 ∗ N 0 + 0 ∗ N 1 + 2 ∗ N 2 = N − 1 0*N_0+0*N_1+2*N_2=N-1 0N0+0N1+2N2=N1,可得 N 0 = ( N + 1 ) / 2 N_0=(N+1)/2 N0=(N+1)/2

二、算法设计题(本大题共6小题,每题15分,共计90分。)

  1. 已知两个链表A和B分别表示两个集合,其元素递增排列。设计一个算法,用于求出A与B的交集,并存储在A链表中。(中等)
  • 这题可以参考算法讲义21页线性表考题的第1题,将条件改成相等、实现方式改为链表即可。
  1. 试写一算法,对单链表实现就地逆置。(简单)
  • 这题是算法讲义第22页线性表考题第3题原题。
  1. 设任意n个整数存放于数组A(1:n)中,试编写程序,将所有负数排在所有正数前面。(中等)
  • 这题是我11月10号更新在CSDN博客上并提醒注意的题的改编,原题是将正数排至负数前。具体实现见 代码实现
  1. 用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。(中等)
  • 算法讲义第46页树的考题第7题层次遍历,统计个数只需要在遍历过程加入计数即可。
  1. 设二维数组a[1…m, 1…n] 含有m*n 个整数。判断a中所有元素是否互不相同?输出相关信息(yes/no)。(简单)
  • 这题是我11月10号更新在CSDN博客上并提醒注意的原题。具体实现见 代码实现
  1. 简述如何判断是否有回路,写出其过程,并给出代码实现。(困难)
  • 这题考察的拓扑排序,简述过程是19年就考察过的,问题不大。代码实现是比较出人意料的,以后的学生应该注意了,不过有难度大家都一样。
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值