山东大学数据结构考前重点总结

README

教材:《数据结构、算法与应用 c++语言描述 原书第二版》

本重点适用于计算机学院,后续可能变更重点,对其他学校、学院或其他年级的同学仅供参考

初衷是考试前一天通篇复习的时候记录一下,希望能帮到大家

按照数据结构分类,特别列出常考应用,加粗部分为重中之重,有“了解”字样的了解即可

线性结构

  1. 程序时间复杂度的计算,大O,小o,会判断某个程序片段或者算法的时间复杂度;了解空间复杂度
  2. 几大排序算法:名次排序、插入排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、桶排序、基数排序(其中选择、冒泡需要了解及时终止的方法),各方法的基本思想、时间复杂度
  3. 线性表的基本方法
  4. 链表的思想、实现方法以及基本方法;了解头结点、循环链表、双向链表
  5. 多维数组和矩阵的存储与映射方式;了解特殊矩阵、稀疏矩阵
  6. 栈的思想、实现以及基本方法
  7. 队列的思想、在一维数组中的映射、循环队列、链式队列
  8. 字典的概念与线性表描述、理想散列与线性探查以及其他方法、链式散列

层次结构

  1. 树的相关概念、二叉树、完全二叉树的特性、链式描述、二叉树的四种遍历方法
  2. 堆的基本操作、初始化堆、重构堆
  3. 左高树的基本操作、合并
  4. 二叉搜索树(特征)、索引二叉搜索树的基本操作(特别是删除
  5. AVL树的基本操作(构建、插入、删除)、不平衡旋转操作
  6. B-树的基本操作(插入、删除

网状结构以及算法

  1. 图的基本概念、基本操作;了解权图、有向图
  2. 图的遍历:bfs、dfs
  3. 贪婪算法的基本思想、分治算法的基本思想;了解动态规划基本思想

常考应用

  1. 链表——箱子排序、基数排序、并查集
  2. 栈——括号匹配、汉诺塔列车重排(包括队列实现)
  3. 树——通过二叉树的两个遍历序列还原二叉树、设置信号放大器、层次并查集实现
  4. 优先级队列——堆排序、霍夫曼编码
  5. 贪婪算法——机器调度、0-1背包问题、拓扑排序单元最短路径(Dijkstra算法)、最小生成树(kruskal算法、prim算法)
  6. 分治算法——归并排序、快速排序
  7. 算法设计
  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值