408数据结构错题知识点拾遗

发布时间:2023年12月26日

对于数据结构的学习,个人认为要对概念性的东西进行理解,特别是树的性质、图的相关性质和考察的相应算法。应用题强化的话,对于每一章节尾的应用小节,要进行题型归纳,自己试着出点题目给自己做着理解,可以参考王道的这个链接: 应用题强化文档。而算法题首先就是要对基本算法的熟练,多尝试后掌握暴力算法即可,想要追求高分可自己找算法题拓展练习。


第四章 串

  • KMP算法

    • 在这里插入图片描述

    • KMP优化在这里插入图片描述

  • 卡特兰数

    • 在这里插入图片描述

    • n对括号、n个结点的二叉树个数、出栈序列个数
      第五章 树与二叉树

  • 选择题判断哈夫曼树字符构成,先构造一个哈夫曼树,然后对比选项中各字符的长度,同一层结点的长度相同。

  • 森林的遍历与二叉树的遍历

    • 在这里插入图片描述
  • 森林F转换对应二叉树T,F的叶节点个数=T中左孩子指针为空的结点个数(T是孩子兄弟表示法,左空说明没有孩子了)

第六章 图

  • 有向无环图一定存在拓扑排序。
  • 有向图才把度分为出度入度。

第七章 查找

  • 折半查找判定树 即是平衡二叉又是二叉排序树。
    折半过程中遇到偶数个点需要向上或向下取整,既成树过程需要选定固定方向元素。所以判定树中度为1的结点只能是相同方向的孩子。

  • 平衡二叉树的性质

    • 右子树节点数-左子树节点数=0或1
    • 元素个数为n时,判定树高h=log2(n+1)(向上取整,不包括失败结点)
      在这里插入图片描述
  • 哈希表的堆积(聚集)现象,直接影响ASL(2014)

    • 影响ASL的因素还有装填因子α、散列函数、冲突解决方法(2022)
    • 注意计算ASL成功和失败时的分母,成功是表中记录元素个数n;失败是散列函数的模m
    • 开放定址下,不能随便删除表中已有元素,若删除则打上删除标记,计算ASL失败的时候,不能忽略(2023)
      第八章 排序
      插入排序:直接插入(稳定) (和折半插入、希尔(不稳定))
      ---- 直接插入O(n^2)
      交换排序:冒泡 快排
      — 冒泡O(n^2)(稳定)、快排(nlogn)(不稳定)
      选择排序:简单选择(不稳定) (和堆排序(不稳定))
      ---- 简单选择O(n^2)
      基本有序时,适用冒泡(稳定)、直接插入(稳定)。
      n较小时,适用简单选择(移动次数更少,记录本身信息量较大时可以,但(不稳定)、直接插入(稳定);
      n较大时,适用快排。
      该图片引用自csdn博主@为编程付出一切
  • 外部排序

    • 利用败者树实现k路平衡归并,关键字比较次数与k无关

      • 即总的内部归并时间不会随k的增大而增大。但实际上k会影响磁盘IO操作
      • 在这里插入图片描述
    • 在这里插入图片描述

    • 区别归并排序平衡归并排序

      • 在这里插入图片描述
    • 最佳归并树

      • 在这里插入图片描述
        在这里插入图片描述

*锐评一下408今年24的数据结构题目,又一次的没有考察红黑树、并查集,选择题除个别外偏简单,已修正next数组作KMP优化版本的表达,败者树第一次考察,稍有印象的话也可通过排除法选出答案;算法题反主流压题,继续延续考察图算法,考察拓扑排序唯一相关的理解,经典图算法题,出的比较好,可以很好的区分出没有编程经验的考生,对跨考生不利;应用题考察散列表查找,散列函数较往年来说是新考察新理解,不算难,中等偏下,去年在选择题中考察了散列函数删除一个元素后的失败ASL,较细且极易忽略的考点,而今年则是考察查找成功元素或失败元素过程中的比较序列和最终位置。整体来说还是延续往年的范围走向,难度系数维持正常。 *

文章来源:https://blog.csdn.net/m0_51657509/article/details/135206263
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。