下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构:一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和 操作等的学科。数据:数据是信息的载体,是描述客观事物属性的数、 字符以及所有能输入到计算机中并被 计算机程序处理的符号的集合。数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据类型:是一个值的集合和定义在此集合上一组操作的总称。包括原子类型:其值不可在分的数据类型结构类型:其值可以在分解为若干成分的数据类型抽象数据类型:ADT,指一个数学模型以及定义在该模型上的一组操作。通常用数据对象、 数据关系、基本操作集这样的三元组来表示。有数据抽象和数据封装两个重要特性。数据结构:是相互之间存在一
2、种或多种特定关系的数据元素的集合。包括(逻辑结构、存储结构和数据的运算)。数据的逻辑结构:指数据元素之间的逻辑关系。包括集合、线性结构、树形结构、图状结构 或网状结构。数据的存储结构:指数据结构在计算机中的表示,也成物理结构。主要有顺序存储、连接存储、索引存储、散列存储。数据的运算:施加在数据上的运算包括运算的定义和实现。定义是针对逻辑结构, 指出运算的功能。实现是针对存储结构的,指出运算的具体操作步骤。算法:对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。有5个重要特性(有穷性、确定性、可行性、输入、输出) 算法设计的要求:正确性、可读性、健壮性、效率与低存
3、储量需求。时间复杂度:一般情况下,算法中基本操作的重复次数是问题规模n的某个函数f(n),算法的时间度量记作 T (n) =O(f(n),表示随着问题规模 n的增大,算法执行时间增长率 和f (n)的增长率相同,称为时间复杂度。空间复杂度:S(n)定义为该算法所耗费的村粗空间,是问题规模n的函数。第二章:线性表线性表:具有相同数据类型的 n (n=0)个数据元素的有限序列。线性表的顺序存储又称 顺序表;链式存储又称 单链表。静态链表:借助数组来描述线性表的链式存储结构,结点也有数据域和指针域。但指针是结点的相对地址(数组下标)。需要预先分配连续的内存空间。栈:限定在表尾进行插入或删除操作的线性
4、表。操作端称为栈顶,后进先出队列:一种先进先出的线性表, 只允许在表的一段插入元素,另一端删除元素,在队列中允许插入的一端为队尾,允许删除的一端为队头。串:由零个或者多个字符组成的有限序列。串中任意个连续的字符组成的子序列称为该串的子串。字符在序列中的序号为该字符的位置。树的结点包括一个数据元素以及若干指向其子树的分支。结点拥有的子树称为结点的 度。度为0的结点称为叶子或终端结点。树的度是树内个结点的度的最大值。 结点的子树的根称为 该结点的孩子,相应的该节点为孩子的 双亲。同一个双亲的孩子之间互称 兄弟。结点的祖先 是从根到该结点的所经分支上的所有结点。反之,以某结点为根的子树中任一结点都称
5、为该结点的子孙。结点的层次:从树根开始定义,根结点为第1层,它的子结点为第 2层,以此类推。树的高度或深度:树中结点的最大层数。有序树和无序树:树中结点的子树从左到右是有次序的,不能交换,叫做有序树。反之为无 序树。路径和路径长度:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的。 路径长度是路径上经过的边的个数。树的路径长度:树根到每一个结点的路径长度之和树的带权路径长度(WPL):树中所有叶子结点的带权路径长度之和。哈夫曼树:在含有N个带权叶子结点的二叉树中,其中带权路径长度(WPL)最小的二叉树称为哈夫曼树或最优二叉树。哈夫曼编码:一种广泛应用而且非常有效的数据压缩编码。
6、森林:m ( m=0)棵互不相交的树的集合。二叉树:是另一种树形结构,每个结点至多有两棵子树,并且,二叉树的子树有左右之分, 其次序不能任意颠倒。满二叉树:一棵高度为h,并且含有2Ah -1个结点的二叉树称为满二叉树。即每层都有最多 的结点,叶子集中在二叉树的最下一层且除叶子之外的每个结点度为2.完全二叉树:设一个高度为h,有n个结点的二叉树,当且仅当其每一个结点都与高度为h的满二叉树中编号为 1-n的结点一一对应时,称为完全二叉树。二叉排序树:一棵二叉树或是空二叉树或是具有以下性质的二叉树:左子树上所有关键字均小于根结点的关键字, 右子树所有结点关键字大于根结点的关键字。左子树和右子树又各是
7、一棵二叉排序树。平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1.平衡因子:该结点的左子树深度减去它的右子树深度。二叉树的遍历:指按某条搜索路径访问树中的每个结点,使得每个结点均被访问一次且仅被访问一次。线索二叉树:若结点有左(右)子树,则其Ichild ( rchild )域指向其左(右)孩子,否则令Ichild( rchild)域指向其前驱(后继),这种结点构成的二叉链表作为二叉树的存储结构称为 二叉链表。其中指向结点前驱和后继的指针叫做线索。加上线索的二叉树称为 线索二叉树。对二叉树以某种次序遍历使其变为线索二叉树的过程叫做线索化。判定树:树中每个结点表示表中的一个记录,结点里
8、的值为该记录在表中的位置,通常称这个查找过程的二叉树为判定树。树的先根遍历:若树非空,则先访问根结点,再按从左到右的顺序遍历根节点的每一颗子树。 其访问顺序与这棵树对应的二叉树的线序遍历顺序相同。树的后跟遍历:若树非空,则按从左到右的顺序遍历根结点的每一棵子树,之后再访问根结点。其访问顺序与其对应的二叉树的中序遍历相同。先序遍历森林:若森林非空,则按如下规则遍历:访问森林第一棵树的根结点选序遍历第一棵树中根结点的子树森林线序遍历除去第一棵树之后剩余的树构成的森林 中序遍历森林:若森林非空,则按如下规则进行遍历:中序遍历森林中第一棵树的根结点的子树森林访问第一棵树的根结点中序遍历除去第一棵树之后
9、剩余的树构成的森林 图:由顶点集V和边集E组成,记作G=(V,E) 有向图:E为有向边的有限集合时,图G为有向图无向图:E为无向边的有限集合时,图G为无向图简单图:不存在重复边,不存在定点到自身的边称图G为简单图。与多重图相对完全图:在无向图中,若任意两个顶点之间都存在边,则称该图为无向完全图。具有n* (n-1) 12条边。有向图中,若任意两个顶点之间存在方向相反的两条弧,称为有向完全图,含有n (n-1)条有向边。连通:若从顶点v到顶点w存在路径,则v和w是联通的。若图 G中任意两个顶点都是联 通的,则称图G为连通图,否则非连通图。无向图中的极大连通子图称为连通分量。在有向图中,若从V到顶
10、点 W和从顶点 W到顶点V都存在路径,则称两个顶点是强连通的, 若图中任一对顶点都是强连通的,则称为强连通图。有向图中的极大强连通子图称为有向图的强连通分量。生成树和生成森林:连通图的生成树是包含图中所有顶点的一个极小连通子图。若顶点为n则含有n-1条边。非连通图中,连通分量的生成树构成生成森林最小生成树:一个带权连通无向图的生成树中边的权值之和最小的那个叫做此图的最小生成树。有向树:如果一个有向图恰有一个顶点的入度为0,其余顶点的入度为1,则是一棵有向树。路径、路径长度和回路:顶点V到顶点Q之间的一条路径是指之间的一个顶点序列。路径 的长度是路径上边的数目。第一个顶点和最后一个顶点相同的路径
11、称为回路或环。最短路径:带权图中,从一个顶点V0到另一个顶点 V1的一条路径上所经过边的权值之和定义为该路径的带权路径长度,其中最短的那条称作最短路径。此路径的长度称为从v到u的距离。图的遍历:从图中某一顶点出发, 按照某种搜索方法沿着图中的边对图中所有顶点访问一次且仅访问一次。深度优先搜索:类似于树的先序遍历,假设从图中某顶点 V出发,在访问了 V之后一次从V 的未被访问的邻接点出发做深度优先遍历,知道图中所有和v有路径相同的顶点都被访问到。若图中还有顶点未访问, 则另选图中一个未曾被方位的顶点作为起始点,重复上述过程,直至图中所有顶点都被访问。广度优先搜索:类似于树的层次遍历, 从顶点v出
12、发,访问了 V之后依次访问v的各个未被 访问过的邻接顶点。 再依次访问它们的邻接点,并使先被访问的顶点的的邻接点先于后访问的顶点的邻接点。直到图中所有已被访问顶点的邻接点都被访问到。如果图中还有顶点未被访问,则另选一个未被访问的顶点作为起始点,重复上述过程,直到图中所有顶点都被访问。AOV网,用有向无环图表示一个工程,顶点表示活动,有向边 表示Vi必须先于 Vj 进行的关系。则称为 AOV网。AOE网,在带权有向图中,以顶点表示事件,有向边表示活动,边上的权值表示完成该活动的开销(如时间),则称这个网络为 AOE网。关键路径:在AOE网中,路径长度最长的路径叫做关键路径,关键路径上的所有活动都
13、是关键活动。拓扑排序:由一个有向无环图的顶点组成的序列, 当且仅当满足下列条件, 称为该图的一个 拓扑排序 1,每个顶点出现且仅出现一次。 2若顶点a在b之前,不存在b到a的路径。 查找:在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找表(查找结构):用于查找的数据集合称为查找表。静态查找表:如果一个查找表的操作仅涉及查询某个特定的数据元素是否在查找表中和检索满足条件的某个特定的数据元素的各种属性,则称为静态查找表。动态查找表:需要动态的插入或删除的查找表称为动态查找表。关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找, 查找结果应该是唯一的。平均查找长度(AS
14、L :在查找的过程中,一次查找的长度指需要比较的关键字次数,而平均查找长度则是所有查找过程中进行关键字的比较次数的平均值。折半查找:仅适用于有序的顺序表。将给定的值key与表中间位置元素的关键字比较,相等则查找成功返回位置。若不等则缩小查找范围,重复查找直到找到或者确定表中没有需查找 的元素。散列函数:一个把查找表中的关键字映射成该关键字对应的地址的函数,冲突:散列函数可能会把两个或以上的不同关键字映射到同一地址,这种情况为冲突散列表:是根据关键字而直接进行访问的数据结构。散列表建立了关键字和存储地址指间的一种直接映射关系。开放定址法:指的是可存放新表项的空闲地址既向它的同义词表项开放,又向它
15、的非同义词表项开放。拉链法(链地址法):把所有的同义词存储在一个线性链表中,这个线性链表由其散列地址 唯一标识。装填因子:是哈希表中填入的记录数和哈希表的长度之商,哈希表的平均查找长度是装填因子的函数,不是规模的函数。(散列表的查找效率取决于三个因素:散列函数/处理冲突的方法和装填因子)二次聚集:指在处理冲突过程中发生的两个第一个哈希地址不同的记录争夺同一个后继哈希 地址的现象。第十章:内部排序排序:重新排列表中的元素,使表中的元素满足按关键字递增或递减的过程。算法的稳定性:假设Ri=Rj,且在排序之前 Ri领先于Rj,若在排序后的序列中 Ri仍然领先于 Rj,则称所用的排序算法是稳定的,反之
16、则称所用的算法是不稳定的。内部排序:排序期间元素全部存放在内存中的排序;外部排序是指在排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断的在内外存指间移动的排序。插入排序:每次将一个待排序的记录,按关键字大小插入到前面已经排好序的子序列中,直至全部记录插入完成。希尔排序:又称缩小增量排序,先将整个记录序列分割成若干子序列分别进行直接插入排序, 待整个序列中记录基本有序时,再对全体进行一次直接插入排序。冒泡排序:从前往后(或从后往前)两两比较相邻元素的值,若为逆序则交换,知道序列比 较完,既完成一趟冒泡排序。这一趟确定的最小元素不再参与比较,重复上述过程直到一趟排序没有记录交换。快速排序:通过一趟排序将带排记录分割成独立两部分,其中一部分的关键字均比另一部分小,分别对两部分再进行快速排序直至整个序列有序选择排序:每一趟在未排序的记录中选择最小的记录作为有序序列部分的下一个记录。归并排序:将两个或两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度尾矿库整治土石方运输承包协议3篇
- 2024年某食品公司与某农场关于有机蔬菜采购的合同
- 2024版充电桩升级改造劳务分包施工合同2篇
- 2024年师资力量共享合作合同文本3篇
- 2024年度水田承包与农业科技示范园区合作协议3篇
- 2024年商场场地租赁合同范本规范版9篇
- 外贸新手入职规划
- 2024年度文化产业贷款担保合同样本2篇
- 2024年新型PPP模式合作框架合同模板
- 2024年度房屋买卖合同中的房屋交易流程及时间表3篇
- 《思想道德与法治》试题库
- 高铁接触网案例 更换平腕臂绝缘子
- 2023年Cable开发工程师年度总结及下年规划
- 人教版数学小学二年级上册无纸笔测试题
- 机场行李自动处理系统建模与仿真研究的开题报告
- 产品合格证出厂合格证A4打印模板
- 护理中断事件(演示文稿)
- 地基与基础工程试题及参考答案
- 新能源汽车专业毕业论文
- 部编版六年级上册语文期末古诗文专项训练(含答案)
- GB/T 29465-2023浮头式热交换器用法兰
评论
0/150
提交评论