![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
尘外人
这个作者很懒,什么都没留下…
展开
-
数据结构知识整理1基本知识及二元组
数据结构数据结构讨论“描述现实世界实体的数学模型(通常为非数值计算)及其之上的运算在计算机上如何表示和实现”。数据结构主要研究数据的各种组织形式及建立在这些组织形式之上的各种运算算法的实现(即数据组织和数据处理的方法)。好的程序=合理的数据结构+好的算法(选择很大程度取决于描述实际问题所采用的数据结构)数据:是描述客观事物的数和字符的集合。从计算机角度看,数据是所有能被输入到计算机...原创 2019-02-15 15:12:41 · 3874 阅读 · 0 评论 -
数据结构知识整理17拓扑排序、AOE网与关键路径
拓扑排序设G=(V,E)是一个具有n个顶点的有向图,V中顶点序列v1,v2,…,vn为一个拓扑序列,当且仅当该顶点序列满足下列条件:若<vi,vj>是图中的边(即从顶点vi到顶点vj有一条路径),则在序列中顶点vi必须排在顶点vj之前。在一个有向图中找一个拓扑序列的过程称为拓扑排序。拓扑排序方法:从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它。 从图中删去该...原创 2019-08-02 11:19:55 · 741 阅读 · 0 评论 -
数据结构知识整理16最短路径
最短路径在一个无权图中,从一个顶点到另一个顶点可能存在多条路径,路径长度不同,把路径长度最短(即经过边数最少)的那条路径称为最短路径,其路径长度叫做最短路径长度或最短距离。对于有权图,应考虑路径上各边的权值,则通常把一条路径上所经过边的权值之和定义为该路径的路径长度或称带权路径长度。从源点到终点可能不止一条路径,把带权路径长度最短的那条路径称为最短路径,其路径长度(权值之和)称为最短路径长度或...原创 2019-08-02 11:13:42 · 1572 阅读 · 0 评论 -
数据结构知识整理15树结构与普里姆(Prim)算法及克鲁斯卡尔(Kruskal)算法
生成树和最小生成树一个连通图的生成树是该连通图的一个极小连通子图,它含有图中全部顶点,但只有构成一棵树的(n-1)条边。如果在一棵生成树上添加一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第2条路径。一颗有n个顶点的生成树(连通无向图)有且仅有(n-1)条边,但是,有(n-1)条边的图不一定都是生成树。一个图有n个顶点,如果边小于(n-1)条,则是非连通图;若边大于(n-1)...原创 2019-03-27 16:20:31 · 295 阅读 · 0 评论 -
数据结构知识整理14图遍历
图的遍历:从给定图中任意指定的顶点(称初始点)出发,按照某种搜索方法沿着图的边访问图中的所有顶点,使每个顶点仅被访问一次,这个过程称为图的遍历。如果给定图是连通的无向图或者是强连通的有向图,则遍历过程一次即可完成,并按顶点访问的先后顺序得到由该图所有顶点组成的一个序列。由于沿着图中的一条路径访问过某一顶点后,可能还会沿着另一条路径回到该顶点,即存在回路。为了避免同一个顶点被重复访问,必须记住每...原创 2019-03-27 16:19:43 · 308 阅读 · 0 评论 -
数据结构知识整理13图存储结构
图的存储结构:图的存储节点除了要存储图中各个顶点本身的信息外,还要存储各个顶点之间的关系(边的信息)。常用的图的存储结构有邻接矩阵和邻接表。邻接矩阵是表示顶点之间相邻关系的矩阵。设G=(V,E)是含有n(n>0)个顶点的图,各顶点的编号为0~(n-1),则G的邻接矩阵A是n阶方阵,其定义如下:邻接矩阵特点:图的邻接矩阵表示是唯一的 对于含有n个顶点的图,采用邻接矩阵存储...原创 2019-03-27 16:18:28 · 488 阅读 · 0 评论 -
数据结构知识整理12图
图图形结构属于复杂的非线性数据结构,在实际应用中很多问题可以用图来描述。在图形结构中,每个元素可以有零个或多个前驱和后继,即:元素之间的关系是任意的。图的定义:无论多么复杂的图都是由顶点和边构成的。采用形式化的定义,图G(Graph)由两个集合V(Vertex)和E(Edge)组成,记为G=(V,E),其中V是顶点的有限集合,记为V(G),通常用字母或自然数(顶点的编号)来标识图中顶点。约...原创 2019-02-16 23:52:42 · 301 阅读 · 0 评论 -
数据结构知识整理11线索二叉树、哈夫曼树、并查集求解等价问题
线索二叉树对于具有n个节点的二叉树,采用二叉链存储结构时,指针域共有2n个,由于只有n-1个节点被有效指针所指向,则共有n+1个空链域。遍历二叉树的结果是一个节点的线性序列。可以利用这些空链域存放指向节点的前驱和后后继的指针。这种指向线性序列中的前驱节点和后继节点的指针,称作线索。由于遍历方式不同,产生的遍历线性序列也不同。做如下规定:当某节点的左指针为空时,令该指针指向前驱节点;当某...原创 2019-02-16 23:48:49 · 333 阅读 · 0 评论 -
数据结构知识整理10二叉树
二叉树二叉树也称二分树,是有限的节点集合,这个集合或者是空,或者是由一个根节点和两棵互不相交的称为左子树和右子树的二叉树组成。二叉树结构简单,存储效率高,运算算法也相对简单,而且任何m次树都可以转化为二叉树结构。因此二叉树具有很重要的地位。二叉树和2次树的区别,对于非空树:1、二次树中至少有一个节点的度为2,二叉树没有此要求2、二次树不区分左、右子树,二叉树严格区分左、右子树。二叉...原创 2019-02-16 23:47:32 · 1605 阅读 · 0 评论 -
数据结构知识整理9树
树形结构属非线性结构,常用的树性结构有树和二叉树。树形结构可以表示元素或节点之间的一对多关系。树树是由n(n≥0)个节点组成的有限集合(记为T)。如果n=0,它是一棵空树,这是树的特例。如果n>0,这n个节点中存在(且仅存在)一个节点作为树的根节点(简称为根root),其余节点可以分为m(m≥0)个互不相交的有限集T1,T2,…,Tm,其中每个子集本身又是一颗符合本定义的树,称...原创 2019-02-16 23:46:56 · 558 阅读 · 0 评论 -
数据结构知识整理8数组和广义表
数组和广义表数组数组是具有相同类型的数据元素的有限序列,可将其看作是线性表的推广。从逻辑结构上看,数组A是由n(n>1)个相同类型数据元素a1,a2,…an构成的有限序列,其逻辑表示为: A=(a1,a2,…an)//其中ai(1≤i≤n)表示数组A的第i个元素。一个二维数组可以看作是每个数据元素都是相同类型一维数组的一维数组。以此类推,任何多维数组都...原创 2019-02-16 23:45:12 · 886 阅读 · 0 评论 -
数据结构知识整理7递归
递归递归是计算机科学中一个重要的方法,很多程序设计语言如C/C++都支持递归程序设计。在定义一个过程或函数时出现调用本过程或本函数的成分,称为递归。若调用自身,称为直接递归。若过程或函数p调用过程或函数q,而q又调用p,称为间接递归。递归关系:一个数列的若干连续项之间的关系。递归数列:由递归关系所确定的数列。递归过程:直接或间接调用自身的过程。递归算法:包含递归过程的算法。...原创 2019-02-16 23:44:19 · 1488 阅读 · 0 评论 -
数据结构知识整理6串和串模式匹配
串字符串简称串,也是一种线性结构。串的处理在计算机非数值处理中占有重要的地位,如信息检索系统、文字编辑等都是以串数据作为处理对象。串(字符串)是由零个或多个字符组成的有限序列。含零个字符的串称为空串,用Ф表示。串中所含字符的个数称为该串的长度(串长)。通常将一个串表示成“a1a2a3…an”的形式。其中,最外边的双引号(或单引号)本身不是串的内容,它们是串的标志,将串与标识符(如变量名等)...原创 2019-02-16 23:39:58 · 853 阅读 · 0 评论 -
数据结构知识整理5栈和队列
栈和队列从数据结果的定义看,栈和队列也是一种线性表。其与线性表不同之处在于栈和队列的相关运算具有特殊性,只是线性表相关运算的一个子集。一般线性表插入、删除运算不受限制,而栈和队列上的插入、删除运算均受某种特殊限制。栈和队列也称作操作受限的线性表。栈栈是最常用的和最重要的数据结构之一,用途十分广泛(如二叉树、递归算法转非递归算法)。栈(后进先出表)是一种只能在一端进行插入或删除操...原创 2019-02-16 23:38:37 · 277 阅读 · 0 评论 -
数据结构知识整理4线性表——顺序表、链表、有序表
线性表线性表是最简单也是最常用的一种数据结构。逻辑结构线性表定义:线性表是具有相同特性的数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用n表示,n≥0。当n=0时,表示线性表是一个空表,表中不包含任何元素。设序列中第i(i表示逻辑序号)个元素为ai(1≤i≤n),则线性表的一般表示为: ...原创 2019-02-15 15:20:34 · 3232 阅读 · 0 评论 -
数据结构知识整理3算法基本概念、数据结构+算法=程序
算法算法是在具体存储结构上实现某个抽象运算。确切地说,算法是对特定的求解步骤的一种描述,它是指令地有限序列,其中每一条指令表示计算机的一个或多个操作。算法五个重要的特性:1.有穷性2.确定性3.可行性4.有输入5.有输出程序可不满足有穷性。算法描述:文字描述,语言方式,图形方式,表格方式。算法设计目标:1.正确性2.可使用性3.可读性4.健壮性5.高效率与低存储量需求。 ...原创 2019-02-15 15:15:11 · 981 阅读 · 0 评论 -
数据结构知识整理2逻辑结构类型、存储结构类型、数据类型及三元组
逻辑结构类型在不会产生混淆的前提下,常将数据的逻辑结构简称为数据结构。集合:指数据元素之间除了“同属一个集合”的关系外,无其他关系。 线性结构:节点之间存在一对一的关系。特点:开始节点、终端节点都唯一,其余节点仅有一个前驱和一个后继。如线性表。 树形结构:节点之间存在一对多的关系。特点:每个节点最多只有一个前驱,但可以有多个后继,终端节点可以有多个。如二叉树。 图形结构:节点之间存在...原创 2019-02-15 15:14:01 · 1679 阅读 · 0 评论 -
数据结构知识整理18查找之线性表查找
查找查找(又称检索):指在某种数据结构中找出满足给定条件的元素。被查找的对象是由一组元素组成的表或文件,而每个元素由若干个数据项组成,假设每个元素都有一个能唯一标识该元素的关键字,在这种条件下,查找的定义是:给定一个值k,在含有n个元素的表中找出关键字等于k的元素。若找到,则查找成功,返回该元素的信息或该元素在表中的位置;否则查找失败,返回相关的指示信息。采用何种查找方法,取决于使用哪...原创 2019-08-02 11:24:54 · 718 阅读 · 0 评论