关闭

数据结构 — 图的概述

标签: 数据结构
439人阅读 评论(0) 收藏 举报
分类:

一、基础知识


1、欧拉闭迹:每个顶点的度均为偶数,才可能存在从任意顶点出发,经过所有边恰好一次,并最终回到出发顶点的走法。

2、定义:图G = (V,E)由有穷非空集合V(G)-> 顶点(vertex) 和 有穷允空集合E(G) -> 边(edge)构成。

3、分类:无向图 ->(v0,v1)和(v1,v0)表示同一条边,有向图 ->(v0,v1)表示顶点v0为尾,顶点v1为头的边,即v0指向v1。

4、概念:

1)限制:(1)不能有自身环 (2)同一条边在图中不能出现两次或者两次以上即多重图

2)完全图:具有边数最多的图,对于n个顶点的无向图,边数为 n*(n-1)/2;对于n个顶点的有向图,边数为n(n-1)。

3)边(v0,v1)与v0和v1关联;边(v0,v1)、(v0,v2)和(v0,v3)关联于 v0。

4)简单路径:路径上除了起点和终点可能相同外,其余顶点都互不相同。环路(回路)是起点和终点相同的简单路径。

5)连通分支,即分支,无向图中的极大连通子图;有向图G每对不同的顶点vi和vj,都存在vi到vj 以及vj到vi的有向路径则为强连通;强连通分支是有向图的极大强连通子图。

6)顶点的度(degree)是关联与该顶点的边的条数;入度(in-degree)定义为  箭头指向v的边数;出度(out-degree)相反;

7)   边(edge)带权值(weight)的图成为网络(network)。


二、图的存储(之后要写几个示例,这里用文字简单说说)

(1)邻接矩阵 (2)邻接表(适合稀疏图)(3)逆邻接表(方便求顶点的度)(4)邻接多重表(方便找到第二顶点和标记扫过的边)


三、图的连通性


1、连通

在无向图G中,v0 与 v1 之间存在一条路径,称v0 与 v1 是连通的;G为无向图,所以必然存在一条v0到v1的路径;当任意两个节点vi 与 vj之间都存在一条路径,则称无向图G是连通的。

2、连通分支

在无向图G中,一个极大连通子图则称为无向图G的连通子图。

3、强连通

在有向图G中,任意两个节点vi与 vj之间 可以任意到达(vi -> vj 或 vj ->vi)则称该有向图G是强连通的。

4、强连通分支

强连通分支时有向图的极大强连通子图。

5、关节点

在图G中,存在节点v ,当删除该节点以及关联在该节点上的所有边后,得到的图G’至少包含两个连通分支,那么该节点v 则成为图G 的关节点。

6、双连通图

双连通图是没有关节点的连通图。

7、双连通分支

在图G中一个最大的双连通子图。

8、求解图的双连通分支的思路

1)最大的双连通子图 -> 双连通图 -> 关节点

2)如果顶点v是深度优先生成树的根结点,且v至少有两个儿子,则v为关节点;如果v 不是生成树的根节点,那么当且仅当v有个儿子w,使得low(w)>= dfn(v),则v为关节点。

注释:

dfn(v):深度优先编号,在深度优先搜索过程中被访问的顺序。

low(v):从v 出发,经过一条由w形成的路径 和 一条回退边所能到达的具有最小深度优先编号的  顶点的编号。(说白了就是,他儿子节点能回到的最小深度优先编号,如果比他大,说明该点是关键点)

0
0
查看评论

数据结构:图论基础

图概述 图(Graph)是一种比线性结构和树形结构都要复杂的数据结构。简单讲,图是由表示数据元素的的集合V和表示数据之间关系的集合E组成。其中,数据元素常称作顶点(vertex),数据之间的关系常称作边(edge)。故图可记为G=,其中V是顶点的有穷非空集合,E是边的集合。在图中顶点的前驱和后...
  • lanmolei814
  • lanmolei814
  • 2014-11-12 22:21
  • 1243

数据结构的概述

1.数据结构 数据结构是研究数据元素存储、数据元素之间的关系的存储;因此数据结构可以简化成。  数据结构=数据元素+数据元素之间的关系 数据结构一般包含三个方面: (1).数据之间的逻辑关系,是根据实际问题抽象出来的; (2).数据、数据关系的存储,即在计算机内存中表示方式; (3).数据...
  • lpp0900320123
  • lpp0900320123
  • 2014-02-24 22:33
  • 2730

数据结构-图的概述

数据结构-图的概述 一、基本定义 1、图:由点集和弧集(或者为边集)组成的 数据结构。(弧集或边集可为空) 注:弧是有方向的,边可以看成双向的弧。 2、有向图:由点集和弧集的数据结构为有向图。 3、无向图:由点集和边集的数据结构为无向图,无向图的临接矩阵为对称矩阵。 快速区分图是否有...
  • danneel
  • danneel
  • 2015-08-09 13:11
  • 606

java-数据结构-概述

数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元...
  • youdianjinjin
  • youdianjinjin
  • 2016-07-14 18:08
  • 1299

图的应用详解-数据结构

概述 最小生成树——无向连通图的所有生成树中有一棵边的权值总和最小的生成树 拓扑排序 ——由偏序定义得到拓扑有序的操作便是拓扑排序。建立模型是AOV网 关键路径——在AOE-网中有些活动可以并行地进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度,路径长度最长...
  • u011390632
  • u011390632
  • 2014-04-09 00:05
  • 1527

数据结构之图(术语、存储结构、遍历)

无向边:若顶点Vi 到Vj 的边没有方向,则称这条边为无向边,用无序偶对来表示
  • u013071074
  • u013071074
  • 2014-06-04 14:51
  • 7968

数据结构——图 最常用的概念

1.什么是图?     边集和非空顶点集的组合。 2.连通:    是点与点之间的概念,是针对无向图的概念。顾名思义, 从a点到b点是可达的——a到b有路径存在,则称a和b是连通的。 3.连通图:    无向图G中,任意两点之间都...
  • ZDF19
  • ZDF19
  • 2016-11-27 16:54
  • 1052

数据结构-图-知识点总结

一、基本术语 图(graph):图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中的顶点的集合,E是图G中边的集合。 顶点(Vertex):图中的数据元素。线性表中我们把数据元素叫元素,树中将数据元素叫结点。 边:顶点之间的逻辑关系用边来表示,边...
  • Ontheroad_
  • Ontheroad_
  • 2017-05-25 18:57
  • 1063

数据结构概述 第六章 图

第六章 图 6.1 6.1.1 图的定义和基本术语 1.图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:             ...
  • xuyan20134499
  • xuyan20134499
  • 2014-12-07 15:28
  • 255

python -数据结构概述

1.内置的数据结构:元组、列表、字典 元组:有序、不可改变;常用属性: count、index;例如:e = ("a", "b")   e.index("a")  =>0 列表:有序、可以改变;常用属性:...
  • steelhe
  • steelhe
  • 2016-07-30 21:22
  • 177
    个人资料
    • 访问:147270次
    • 积分:3838
    • 等级:
    • 排名:第9882名
    • 原创:242篇
    • 转载:17篇
    • 译文:0篇
    • 评论:13条
    博客专栏
    最新评论