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

一、简答题(本大题共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的结点即网络结构数据分析与应用潘蕊 电子书 (850)数据结构与计算机网络_代码实现,又网络结构数据分析与应用潘蕊 电子书 (850)数据结构与计算机网络_网络结构数据分析与应用潘蕊 电子书_02网络结构数据分析与应用潘蕊 电子书 (850)数据结构与计算机网络_数据结构_03,可得网络结构数据分析与应用潘蕊 电子书 (850)数据结构与计算机网络_数据结构_04

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

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