湖大计学考研系列文章目录


目录

总结

一、绪论

二、线性表

三、栈和队列

四、串

五、树和二叉树

六、图

七、查找

八、排序

参考(具体细节见原文)


总结

        本篇文章给出了我对866数据结构重点的理解,包括去年试卷的分数分布。


一、绪论

        22年866真题:1个选择+1个简答,共计7分

  1. 数据元素、数据项、数据结构、抽象数据类型
  2. 线性结构有哪些?非线性结构有哪些?
  3. 算法的五个特性
  4. 好算法的四个特性
  5. 线性时间指的是什么?算法原地操作是什么意思?
  6. 时间复杂度怎么计算?(for while、递归)(必考)
  7. 时间复杂度比较
  8. 主定理法(算递归时间复杂度好用)

二、线性表

  1. 线性表是逻辑结构还是物理结构?
  2. 顺序表的随机访问是什么意思?
  3. 顺序表的插入与删除操作是如何实现的?
  4. 顺序表的插入和删除移动次数?
  5. 顺序表和单链表的结构体怎么定义?
  6. 带头结点和不带头结点判空怎么判断?
  7. 单链表插入和删除怎么实现?
  8. 单链表、双链表的插入删除顺序问题
  9. 如何高效的将顺序表逆置?
  10. 如何删除有序表的重复值?
  11. 如何将两个有序表合成一个有序表?
  12. 如何将单链表就地逆置?
  13. 如何删除单链表中介于两值之间的元素?
  14. 如何将两个有序单链表归并成一个有序单链表?
  15. 如何得到单链表的倒数第k个元素?

三、栈和队列

        22年866真题:3个选择+1个简答,共计16分

  1. 栈和队列能在哪进行插入和删除?
  2. 栈和队列的特点?
  3. 顺序栈的两种定义以及操作(入栈、出栈、获取栈顶、判断栈空、栈满)
  4. 共享栈的栈满条件?
  5. 循环队列队满和元素个数公式?
  6. N个元素进栈,出栈个数?
  7. 栈和队列顺序题目?(必考)
  8. 如何将队列逆置?
  9. 括号匹配思想和代码?
  10. 数组和特殊矩阵(对称、三角、三对角)存储注意事项?(优先带值法)

四、串

  1. next数组和nextval数组计算

五、树和二叉树

        22年866真题:1个选择+1个简答+1个计算+1个代码,共计37分

  1. 度为m的树和m叉树的区别?
  2. 满二叉树和完全二叉树有什么特点?
  3. 树和二叉树的常考性质(第i层最多结点、高度为h最多结点、最小高度h
  4. N个结点二叉链表空链域有多少?
  5. 二叉树和遍历序列之间如何转换(必考)
  6. 层次遍历的思想和代码
  7. 线索二叉树怎么构造?
  8. 孩子兄弟表示法怎么做?
  9. 树的先根和后根遍历与二叉树遍历有什么关系?
  10. 二叉排序树怎么逐步构造?相同值怎么处理?
  11. 二叉排序树插入和删除代码
  12. 二叉排序树的删除情况和ASL计算
  13. 平衡二叉树的逐步构造
  14. 高度为h的平衡二叉树最少结点个数?
  15. 哈夫曼树构造及哈夫曼编码
  16. 如何判断是否为完全二叉树?
  17. 如何判断是否是二叉排序树?
  18. 如何判断是否是平衡二叉树?

六、图

        22年866真题:2个选择+2个计算+2个代码,共计44分        

  1. 无向图和有向图边和结点关系?
  2. 连通图和强连通图是什么意思?
  3. 无向完全图和有向完全图边数
  4. 邻接矩阵、邻接表与图之间转换
  5. BFS、DFS序列和生成树
  6. BFS和DFS代码(王道+866)
  7. 最小生成树构造两种方法(PrimKruskal
  8. Dijkstra计算最短路径
  9. Flyod代码(866
  10. 拓扑排序序列(必考)
  11. 关键路径计算

七、查找

        22年866真题:2个选择+1个计算,共计14分

  1. 折半查找以及折半查找树
  2. 散列查找(线性探测法、平方探测法)(必考)
  3. 自组织线性表三种规则

八、排序

        22年866真题:1个选择+1个简答+1个计算+1个代码,共计32分

  1. 基于比较的算法,至少需要比较次数?
  2. 直接插入排序思想和每一步结果
  3. 希尔排序每一步结果
  4. 冒泡排序每一步结果
  5. 快速排序每一步结果及代码
  6. 简单选择排序每一步结果
  7. 堆排序每一步结果及代码
  8. 如何插入和删除堆的元素?
  9. 归并排序的每一步结果及代码
  10. 基数排序的每一步结果
  11. 内部排序的比较(时间复杂度、空间复杂度、稳定)
  12. 如何将奇数偶数(正数负数)分开?
  13. 输出第K大的元素
  14. 如何在链表上进行各种排序?

参考(具体细节见原文)

参考书目:

  1. 王道:《数据结构》
  2. 湖大本科: 《数据结构与算法分析( C++版)(第三版)》Clifford A. Shaffer 著,张铭、刘晓丹等译,
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐