图的定义和术语及存储结构共37页文档
- 格式:ppt
- 大小:3.61 MB
- 文档页数:37
计算机中图的名词解释在计算机领域中,图(Graph)是一种常见的数据结构,用于描述对象之间的关系和相互作用。
图的概念最早由数学家欧拉提出,并且在计算机科学中得到广泛运用。
本文将从图的基本概念和操作开始,逐步介绍计算机中图的相关术语和应用。
1. 图的基本概念图由节点(Node)和边(Edge)组成。
节点表示对象或实体,边表示节点之间的连接关系。
图可以分为有向图(Directed Graph)和无向图(Undirected Graph)。
在有向图中,边具有方向性,表示从一个节点流向另一个节点;而在无向图中,边没有方向性,表示两个节点之间的相互关系。
2. 图的存储方式为了在计算机中表示和处理图,常见的存储方式有邻接矩阵(Adjacency Matrix)和邻接表(Adjacency List)。
邻接矩阵是一个二维数组,其中行和列表示节点,矩阵的值表示节点之间是否有边相连。
邻接表则使用链表的形式来表示节点之间的连接关系,每个节点对应一个链表,链表中存储了与该节点相连的其他节点。
3. 图的遍历图的遍历是指沿着图中的路径,依次访问所有节点的过程。
常见的图遍历算法有深度优先搜索(Depth-First Search)和广度优先搜索(Breadth-First Search)。
深度优先搜索先选择一个起始节点,沿着路径一直深入直到无法继续,然后回溯到其他未访问的节点,继续深入;而广度优先搜索则是从起始节点开始,并逐层扩展,逐层访问。
4. 最短路径算法最短路径算法用于计算两个节点之间的最短路径,即路径上边的权值之和最小。
其中,最常用的最短路径算法是狄克斯特拉算法(Dijkstra Algorithm)。
该算法通过逐步更新节点到其他节点的距离,找到起始节点到目标节点的最短路径。
5. 拓扑排序拓扑排序(Topological Sorting)是一种对有向无环图进行排序的算法。
在有向图中,如果节点 A 的边指向节点 B,那么 B 必须在 A 之后才能出现在排序结果中。
一、图的定义一、图的定义图是一系列顶点(结点)和描述顶点之间的关系边(弧)组成。
图是数据元素的集合,这些数据元素被相互连接以形成网络。
其形式化定义为:G=(V,E)V={Vi|Vi∈某个数据元素集合}E={(Vi,Vj)|Vi,Vj∈V∧P(Vi,Vj)}其中,G表示图,V是顶点的集合,E是边或弧的集合。
在集合E 中,P(Vi,Vj)表示顶点Vi和顶点Vj之间有边或弧相连。
二、图的术语顶点集:图中具有相同特性的数据元素的集合称为顶点集。
边(弧):边是一对顶点间的路径,通常带箭头的边称为弧。
弧头:每条箭头线的头顶点表示构成弧的有序对中的后一个。
弧尾:每条箭头线的尾顶点表示构成弧的有序对中的前一个顶点,称为弧尾或始点。
度:在无向图中的顶点的度是指连那个顶点的边的数量。
在有向图中,每个顶点有两种类的的度:出度和入度。
入度:顶点的入度是指向那个顶点的边的数量。
出度:顶点的出度是由那个顶点出发的边的数量。
权:有些图的边(或弧)附带有一些数据信息,这些数据信息称为边(或弧)的权(weigh)。
三、图的分类有向图:在一个图中,如果任意两顶点构成的偶对(Vi,Vj)是有序的,那么称该图为有向图。
这里Vi是弧尾,Vj是弧头。
这表示有一个从顶点Vi到顶点 Vj的路径。
但是从Vj到Vi是不可能的。
无向图:在一个图中,如果有任意两顶点构成的边(Vi,Vj),(Vi,Vj)和(Vj ,Vi)是相同的。
在一个无向图中,如果任意两个顶点之间都有边相连,则称该图为无向完全图。
无向完全图又称完全图。
在一个有向图,如果任意两个顶点之间都是弧相连,则称该图为有向完全图。
有很少条边或弧的图称为稀疏图,反之称为稠密图。
四、图的基本操作1.SetNode():在图中增加一个新的顶点2.GetNode():获取图中指定顶点3.SetEdge():在两个顶点之间添加指定权值的边或弧4.GetEdge():获取两个顶点之间的边5.DelEdge():删除两个顶点之间的边或弧6.GetNumOfVertex():获取邻接矩阵顶点数7.GetNumOfEdge():获取邻接矩阵边或弧的数目8.GetIndex():获取指定顶点在数组中的索引9.IsEdge():判断两个顶点之间是否存在边或弧10.IsNode():判断指定结点是否是图的顶点。