数据结构,操作系统重要概念整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构:
一、重点知识点
1.了解算法的时间复杂度的概念,会求一个算法的时间复杂度;
2.了解线性表的概念,掌握线性表的顺序表示与链式表示;
3.掌握链表的增、删、查、改等基本操作;
4.理解栈和队列的基本概念;
5.掌握循环队列的判空等基本操作;
6.掌握栈在括号匹配和递归中的应用;
7.了解数组的概念;
8.理解矩阵的压缩存储;
9.了解树和二叉树的基本概念;
10.掌握二叉树的遍历、线索二叉树等相关算法;
11.掌握二叉排序树、平衡二叉树以及Huffman树;
12.了解图的基本概念;
13.理解图的的邻接矩阵法存储与邻接表法存储的类型定义;
14.掌握图的遍历算法;
15.掌握图的最小生成树算法、最短路径以及拓扑排序应用及算法;
16.了解查找的基本概念;
17.理解顺序查找方法与折半查找方法;
18.理解B树的概念与基本操作;
19.掌握散列表的概念、构造以及处理冲突的方法;
20.了解排序的基本概念;
21.掌握几种排序算法;
22.理解几种排序算法性能优劣的比较;
二、重要概念
一、概述
1.数据:信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
2.数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
3.数据项:构成数据元素的不可分割的最小单位。
4.数据对象:性质相同的数据元素的集合,是数据的一个子集。
5.数据类型:一个值的集合和定义在此集合上一组操作的总称。、
6.时间复杂度:算法中所有语句在算法中重复执行的次数。
二、线性表
1.线性表:具有相同数据类型的n个数据元素的有限序列。
2.顺序表:用一组地址连续的存储单元,依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。
3.单链表:通过一组任意的存储单元来存储线性表中的数据元素。
三、栈和队列
1.栈:只允许在一端进行插入或删除操作的线性表。
2.顺序栈:利用一组地址连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针指示当前栈顶的位置。
3.共享栈:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个一维数据空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。
4.队列:只允许在表的一端进行插入,而在表的另一端进行删除,这种操作受限的线性表。
5.循环队列:将顺序队列假想为一个环状的空间,即把存储队列元素的表从逻辑上看成一个环。
6.数组:是由n(n>1)个相同类型的数据元素构成的有限序列。
7.压缩存储:为多个值相同的元素只分配一个存储空间,对零元素不分配存储空
间。
8.特殊矩阵:具有许多相同矩阵元素或零元素,并且这些相同矩阵元素或零元素的分布有一定规律性的矩阵。
9.稀疏矩阵:矩阵元素个数s相对于矩阵中非零元素个数t来说非常多,即s>>t 的矩阵。
四、树和二叉树
(4)树:N个结点的有限集合.
(5)度:树中一个结点的子节点个数。
(6)叶子结点:度为0的结点。
(7)祖先结点:根A到结点k的唯一路径上的任意结点,称为k的祖先结点。
(8)二叉树:是n个结点的有限集合:(1)或者为空二叉树,即n=0;(2)或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左右子树又分别为一棵二叉树。
(9)满二叉树:一棵高度为h,并且含有2h-1个结点的二叉树。
(10)完全二叉树:设一个高度为h,有n个结点的二叉树,当且仅当其每一个结点都与高度为h的满二叉树中编号为1-n的结点一一对应时。
(11)二叉排序树:一棵二叉树或者为空二叉树,或者是具有如下性质的二叉树:左子树上所有结点的关键字均小于根结点的关键字;右子树上的所有结点的关键字均大于根结点的关键字。左右子树又各是一棵二叉排序树。
(12)平衡二叉树:树上任一节点的左子树和右子树的深度之差不超过1。
(13)哈夫曼树:又称最优二叉树,在含有N个带权叶子结点的二叉树中,其中带权路径长度最小的二叉树。
(14)前缀编码:没有一个编码是另一个编码的前缀。
(15)树的带权路径长度:从根节点到任意结点的路径长度与该结点上权值的乘积。
(16)树的路径长度:从根节点到每一个结点路径长度之和。
五、图
1.完全图:在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。(有向/无向)
2.连通分量:无向图中的极大联通子图。
3.强连通图:在有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连通的。若图中任何顶点都是强连通的,这称此图为强连通图。(强连通分量类推之)
4.邻接矩阵:所谓邻接矩阵,就是用一个一维数组存储图中顶点信息,用一个二维数组存储图中边的信息,存储顶点之间邻接关系的二维数组成为邻接矩阵。
5.邻接表:适应于稀疏矩阵,可以画图描述。
6.生成树:包含图中全部顶点的一个极小连通子图。
7.简单路径:在路径序列中,顶点不重复出现的路径称为简单路径。
8.简单回路:除第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路。
9.有向树:有一个顶点的入度为0,其余顶点的入度均为1的有向图。
10.最小生成树:对于一个带权连通无向图G=(V,E),生成树不同,每棵树的权也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的那棵生成树,则T称为G的最小生成树。
11.Prim算法描述
12.Kruskal算法描述
13.最短路径:在带权图中,把从一个顶点V到图中其余人一个顶点Vi的一条路径(可能不止一条)上所有能路过边的权值之和定义为带权路径长度,把带权路径长度最短的那条成为最短路径长度。
14.Dijkstra算法求单源最短路径算法描述
15.Floyd算法求个顶点间最短路径算法描述
16.有向无环图:一个有向图中不存在环。
17.拓扑排序:在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序。(1)每个顶点出现且只出现一次。(2)若顶点A在序列中排在顶点B的前面,则在图中不存在从顶点B到A的路径。18.关键路径:从源点到汇点的所有路径中,具有最大路径长度的路径称为关键路径。
六、查找
1.查找:在数据集合中寻找满足某种条件的数据元素的过程。