山东大学软件学院数据结构

数据结构知识梳理

山东大学数据结构算法PPT:
链接:https://pan.baidu.com/s/1tkxsM80YmZO9_f9OeAGziw
提取码:7an5
教材:《数据结构、算法与应用 C++语言描述》第二版

山东大学数据结构期末考试知识点梳理

题型

  1. 简答题
  2. 算法题(用C++写出算法)

题的量不算太小,即要求不仅掌握这些内容还要熟练掌握———郭老师

第一章

1.给了一个问题,可以用递归解决,熟练的运用递归,可以将一个递归的改为非递归的

第二章

1.时间复杂性和空间复杂性,给一个算法,能分析时间复杂性
2.熟练掌握各种排序和搜索算法
3.矩阵的运算

第三章

1.给一个算法,熟练使用渐进符号

第四章

1.了解时间性能

第五章

1.掌握用数组描述线性表的搜索、插入、删除等操作及它们的优缺点

第六章

1.线性表的链表描述,会使用链表,相对于数组描述的优缺点
2.箱子排序和基数排序
3.并查集(链表和数组,熟练掌握基本方法,时间复杂性)

第七章

1.用数组描述的矩阵的映射关系、不同矩阵的表示方法
2.特殊矩阵的基本操作
3.稀疏矩阵的基本运算(相加、转置)

第八章

1.栈的特性,基本描述(链表和数组)
2.栈的应用(熟练掌握)

扫描二维码关注公众号,回复: 8965945 查看本文章

第九章

1.队列的特性,基本描述(链表和数组)
2.熟练掌握数组描述的映射方式,时间复杂性(链表和数组)
3.链表描述的特定(入队和出队)
4.队列的应用

第十章

1.跳表和散列的数据结构
2.跳表和散列的优缺点
3.跳表和散列的时间
4.跳表的插入和删除

第十一章

1.二叉树的概念,特性,描述,一系列的操作(熟练掌握)
2.四种遍历
3.二叉数的抽象描述(链表和数组)
4.二叉数的应用(熟练掌握(并查集))
5.用树表示并查集(时间复杂性,在线等价类)

第十二章

1.熟练掌握堆和左高树的概念
2.堆和左高树的操作(初始化成堆和左高树,插入和删除),并掌握时间复杂性
3.应用(堆排序,霍夫曼编码(给你一篇文章,用这个方法进行压缩))熟练掌握

第十三章

第十四章

1.二叉搜索树(搜索、插入和删除)
2.搜索树和跳表、散列都适合描述字典(性能)
3.给你一串序列,形成AVL树(插入和删除)
4.AVL树不平衡后的调整

第十五章

1.B-树(概念、性质、搜索、插入和删除,以及应用场景如:磁盘的读写应用)

第十六章

1.图的概念(无向图,加权图……)
2.三种实现方式(类的定义)
3.图的性质(入度、出度)
4.遍历方式(BFS、DFS熟练掌握),两种遍历方法的应用(给你一个无向图得到他们的广度优先和深度优先生成树)

第十七章

1.三种方法PPT(贪心算法的思想(解决最优化问题)(给一个问题,用贪心算法解决))
2.拓扑排序(给一个序列,搞出它的拓扑排序结果)
3.最短路径(给一个有向图,会用Dijkstra算法给出最短路径和最短路径长度)
4.Kruscal算法,Prim算法,S……算法(给一个图,它的结果),这三种算法都要会

第十八章

1.分而治之的算法PPT(给一个序列,用这些算法排序,选择第K大的元素)
2.这些算法的时间复杂性

第十九章

1.动态规划和贪心算法的比较
2.动态规划可以“优雅而高效”(给一个问题,判断是否适合动态规划方法来解决,找出它的递归方程)
3.两个应用(0-1背包问题(贪心和动态规划的实现和区别),所有点对之间的最短路径(Floyd算法和Dijstera算法的区别和时间复杂性)),Floyd算法(给一个加权有向图,计算各顶点之间最短路径及其长度)

郭老师寄言:

数据结构与算法紧密结合,如今算法层出不穷,数据结构深度也非常大,对于那些有志于读研读博的同学,学这些无论如何是不够的,将来的研究生博士生阶段依然要用到更深更广的数据结构与算法,因此,各位同学不要只满足于课本,在课本熟练掌握的基础上一定要拓展自己的学习广度和深度。

结语:一定要热爱数据结构,认真复习,期末考试并不难,祝愿各位期末取得好成绩

发布了36 篇原创文章 · 获赞 20 · 访问量 2820

猜你喜欢

转载自blog.csdn.net/weixin_43360801/article/details/103504985