数据结构知识整理12图

图形结构属于复杂的非线性数据结构,在实际应用中很多问题可以用图来描述。在图形结构中,每个元素可以有零个或多个前驱和后继,即:元素之间的关系是任意的。

的定义:无论多么复杂的图都是由顶点和边构成的。采用形式化的定义,图G(Graph)由两个集合V(Vertex)和E(Edge)组成,记为G=(V,E),其中V是顶点的有限集合,记为V(G),通常用字母或自然数(顶点的编号)来标识图中顶点。约定用i(0≤i≤n-1)表示第i个顶点的编号。E是连接V中两个不同顶点(顶点对)的边的有限集合,记为E(G),它确定了图G中的数据元素之间的关系。E(G)可以为空集,当其为空集时,图G只有顶点而没有边。

ADT Graph

{

数据对象:D={ai|1≤i≤nn≥0ai 为ElemType类型}//ElemType是自定义的类型标识符

数据关系:R={< ai,aj>| ai,aj∈D,1≤i≤n,1≤j≤n,其中每个元素可以有零个或多个前驱元素和后继元素}

基本运算:初始化图,清除图,深度优先遍历图,广度优先遍历图

}

在图G中,若代表边的顶点对(序偶)是无序的,则称G为无向图。无向图中代表边的无序顶点对通常用圆括号括起来,用以表示一条无向边。若表示边的顶点对(序偶)是有序的,则称G为有向图。在有向图中代表边的顶点对通常用尖括号括起来,用以表示一条有向边(又称为),如<i,j>表示从顶点i到顶点j的一条有向边,顶点i称为<i,j>的,j称为<i,j>的。通常用尾指向头的箭头形象地表示一条有向边。

 

图基本术语

  1. 端点和邻接点:无向图中存在一条边(i,j),则称顶点i和j为该边的两个端点,并称它们互为邻接点,即顶点i是j的邻接点,j是i的邻接点。在一个有向图中,若存在一条边<i,j>,则称此边是顶点i的一条出边,是顶点j的一条入边;称顶点i和j分别为此边的起始端点(简称起点)和终止端点(简称终点);称顶点i邻接到顶点j,并称j是i的出边邻接点,i是j的入边邻接点
  2. 顶点的度、入度和出度:无向图中,某顶点所具有的边的数目称为该顶点的。在有向图中,以顶点i为终点的入边的数目,称为该顶点的入度;以顶点i为起点的出边的数目,称为该顶点的出度。一个顶点的入度与出度的和为该顶点的度。图中所有顶点度之和等于边数的两倍
  3. 完全图:若无向图中每两个顶点之间都存在一条边,或有向图中每两个顶点之间都存在着方向相反的两条边,则称此图为完全图。完全无向图包含有n(n-1)/2条边,完全有向图包含n(n-1)条边。
  4. 稠密图和稀疏图:当一个图接近完全图时,称为稠密图。当一个图含有较少边数(即当e<<n(n-1))时,则称为稀疏图
  5. 子图:设有两个图G=(V,E)和G’=(V’,E’),若V’是V的子集,即V’⊆V,且E’E的子集,即E’ ⊆E,则称G’G子图。图G的子图G’一定是个图。
  6. 路径和路径长度:在一个图G=(V,E)中,从顶点i到顶点j的一条路径是一个顶点序列(i,i1,i2,…,im),若此图G是无向图,则(i,i1),(i1,i2),…,(im-1,im),(im,ij)属于E(G);若此图是有向图,则<i,i1>,<i1,i2>,…,<im-1,im>,<im,ij>属于E(G)。路径长度是之一条路径上经过的边的数目。若一条路径上除开始点和结束点可以相同外,其余顶点均各不相同,则称此路径为简单路径
  7. 回路或环:若一条路径上的开始点与结束点为同一顶点,则称此路径为回路。开始点与结束点相同的简单路径称为简单回路简单环
  8. 连通、连通图和连通分量:在无向图G中,若从顶点i到顶点j有路径,则称顶点i和顶点j是连通的。若图G中任意两个顶点都连通,则称G为连通图,否则称为非连通图。无向图G中的极大连通子图称为G的连通分量。显然,任何连通图的连通分量只有一个即本身,而非连通图有多个连通分量。
  9. 连通、强连通图和强连通分量:在有向图G中,若从顶点i到顶点j有路径,则称i到j是连通的。若图G中任意两个顶点都连通(i到j,j到i),则称图G是强连通图。有向图G中的极大强连通子图称为G的强连通分量。显然,强连通图只有一个强连通分量即本身,非强连通图有多个强连通分量。
  10. 关节点和重连通图:假如在删除G中顶点i以及与其相关联的各边后,图的一个连通分量被分割成两个或多个连通分量,则称顶点i为该图的关节点。一个没有关节点的连通图称为重连通图
  11. 权和网:图中每一条边都可以附有一个对应的数值,这种与边相关的数值称为。权可以表示从一个顶点到另一个顶点的距离或花费的代价。边上带有权的图称为带权图,也称为
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值